为什么在页面加载时立即单击事件处理程序?

为什么在页面加载时立即单击事件处理程序?

我玩一个函数,我想绑定到所有的链接。目前,函数是在页面加载时触发的,而不是在我单击链接时触发的。

这是我的密码。(我可以张贴这个功能showDiv(),如果你需要看的话。)你能分辨出我在这里做错了什么还是做了什么蠢事吗?

$(document).ready(function(){

    $('a.test').bind("click", showDiv());});

谢谢!


当年话下
浏览 601回答 3
3回答

qq_遁去的一_1

你想通过一个参照系作为回调的函数,而不是函数执行的结果:showDiv()返回一些值;如果没有return使用了陈述,undefined会被归还。showDiv是对应该执行的函数的引用。这应该是可行的:$(document).ready(function(){     $('a.test').bind("click", showDiv);});或者,您可以使用匿名函数来执行更高级的功能:...bind('click', function(){   foo.showDiv(a,b,c);   ...more code...});在某些情况下你可以想要若要将函数返回的值用作回调,请执行以下操作:function function foo(which){   function bar()   {     console.log('so very true');   }   function baz()   {     console.log('no way!');   }   return which ? bar : baz;}...click( foo( fizz ) );在这个例子中,foo使用fizz并返回一个函数,该函数将作为Click事件的回调分配。

慕田峪7331174

使用下面一行。showDiv()在执行该行时,将调用函数的严格性。$('a.test').bind("click", showDiv);
打开App,查看更多内容
随时随地看视频慕课网APP