Javascript “.click(handler())”和“.click(handler))之间的区别`
我有以下代码Javascript “.click(handler())”和“.click(handler))之间的区别`,javascript,jquery,Javascript,Jquery,我有以下代码 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <script type="text/javascript" src="jquery-1.4.2.min.js" ></script> <script type="te
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<script type="text/javascript" src="jquery-1.4.2.min.js" ></script>
<script type="text/javascript">
function myFun()
{
alert(5)
}
$(document).ready(function(){
$("#myID").click(myFun());
})
</script>
</head>
<body>
<input type="button" value="Click it" id="myID" />
</body>
</html>
然后,只有当我们单击按钮时,警报才会出现。为什么会这样
$("#myID").click(myFun());
这将调用myFun()
,并尝试安装它作为事件处理程序返回的任何内容。由于它没有返回任何内容,因此实际上是在触发单击#myID
阅读此内容-将事件处理程序绑定到单击
JavaScript事件,或使用JavaScript在元素上触发该事件
您只需编写$(“#myID”)。单击(myFun)代码>而不是$(“#myID”)。单击(myFun())代码>因为当您在代码中编写myFun()
时,会立即调用该函数(而不是在\myID
上触发单击事件时)
请尝试在单击事件上运行此功能:
function myFun(){
alert(5);
}
$(document).ready(function(){
$("#myID").click(function(){
myFun();
});
})
试试这个:
这会奏效的
$(document).ready(function() {
function myFun() {
alert(5)
}
$("#myID").click(function(){
myFun();
});
});
@兰兹。。如果你看到我的整个问题,我也调用了你提到的函数。但是有什么区别呢。假设我要传递任何参数,那么如何传递?$(“#myID”)。单击(function(){myFun(some,arguments)})代码>当您传递函数()时,意味着您打算调用该方法,如果您不这样做,则只有在触发实际单击事件时才会调用该方法。可能有助于更好地理解函数。
$(document).ready(function() {
function myFun() {
alert(5)
}
$("#myID").click(function(){
myFun();
});
});