不能调用jquery中ready里面定义的函数?
我们知道在学习VUE的时候export default{}是不可缺少的,但是它的含义我们必须理解。export default{}这是在复用组件的时候用到的。假设我们写了一个单页面组件 A 文件,而在另一个文件 B 里面需要用到它,那么就要用 ES6 的 import/export 语法 ,在文件 A 中定义输出接口 export ,在文件 B 中引入 import ,...
·
转发自https://www.cnblogs.com/ymy124/p/3841323.html
现象:不能调用jquery中ready里面定义的函数
源码:<script type="text/javascript">
$(document).ready(function(e) {
function test(){
alert('test!');
}
});
test(); // 报错,test()未定义
</script>
解析:ready也相当于一个函数,即新建一局部函数作用域,外面 当然不可用。和js的onload函数差不多,就比如onload="ready()"
function ready(){
function test(){
alert("test!")
}
}
你在外面肯定调用不了test()函数的
解决方法:
1、把要在外面调用的函数test()从$(document).ready 单独抽出来,供调用!
2、将要在外部调用的函数的作用域提升为全局作用域(变量申明),如下:
<script type="text/javascript">
var test;//定义一全局变量,可省略
$(document).ready(function(e) {
test=function(){
alert('test!');
}
});
test(); //现在可以在外部调用了
</script>
<a href='javascript:;' onclick='test();'>点击测试,test();供标签事件调用</a>
更多推荐
所有评论(0)