简单Jquery函数不工作

简单Jquery函数不工作,jquery,Jquery,这个简单的函数不起作用。显示以下错误 “myfunc”未定义 $(文档).ready(函数(){ 函数myfunc(){ 警惕(‘In’); } }) 警报这是范围问题,myfunc不在全局范围内。当您将它放入$(document.ready()中时,您只能在document.ready()回调中调用它 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></scrip

这个简单的函数不起作用。显示以下错误

“myfunc”未定义


$(文档).ready(函数(){
函数myfunc(){
警惕(‘In’);
}
})

警报
这是范围问题,myfunc不在全局范围内。当您将它放入
$(document.ready()
中时,您只能在
document.ready()
回调中调用它

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script>
  //this doesn't need to be in document.ready(), it won't get called until button is already loaded anyway
  function myfunc() {
    alert('In');
  }
</script>
<button type="button" onclick="myfunc()">Alert</button>

//这不需要在document.ready()中,在按钮加载之前不会调用它
函数myfunc(){
警惕(‘In’);
}
警觉的
您可以在


$(文档).ready(函数(){
函数myfunc(){
警惕(‘In’);
}   });/*别忘了;*/
警觉的

问题的存在是因为您等待创建函数,直到文档准备就绪。加载所有DOM元素后,文档将准备就绪。因此,在创建函数之前,需要加载按钮

按钮尝试加载,但找不到函数。这是因为它还没有被创建。您应该替换
document.ready()
之外的函数,以便在加载DOM元素之前创建该函数。


函数myfunc(){
警惕(‘In’);
}
$(文档).ready(函数(){
})
警报
$(文档).ready(函数(){
$(“#btn”)。单击(函数(){
警报('单击按钮')
})
})


警报
这是一个基本的JavaScript问题:您的函数myfunc是未命名的“onload”jquery函数的私有函数

一般来说,假设您仍然希望在“onload”函数中定义函数,您可以这样做(
a()
是“onload”函数,
b()
是您的
myfunc()
):


现在,回到您的实际问题上来:@guradio提供的解决方案无疑是向前发展的最佳方式,它以一种使用jquery的方式使用jquery。

非常感谢您的快速响应和易于理解的解释。:)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script>   $(document).ready(function(){
function myfunc(){
  alert('In');
}   });/*don't forget ;*/ 
</script> <button type="button" onclick="myfunc()">Alert</button>
var b; // without this line it would still work, since
       // b would implicitely become a global variable in a()
function a(){
    // function b(){ ... would *not* work here
    b=function(){
      alert('In');
    }
}
a();
b();