简单Jquery函数不工作
这个简单的函数不起作用。显示以下错误 “myfunc”未定义简单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
$(文档).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();