在.bind单击处理程序中调用的jQuery函数正在文档就绪上运行

时间:2010-12-17 17:24:20

标签: jquery

我定义了一个简单的函数,并使用.bind()将“click”处理程序附加到链接。

该功能未在点击时运行 - 而是在文档准备就绪时运行。不知道为什么会这样。

我正在使用jQuery 1.3.2。

HTML

<a href="#">click me</a>

的jQuery

$(document).ready(function(){
  leftTurn = function($message){
    alert ($message);        
  };

  $('a').bind('click', leftTurn('hello'));
});

代码也是here in a JSFiddle

2 个答案:

答案 0 :(得分:5)

当你在最后加入()时,你正在调用该函数。 .bind()函数需要引用函数本身,而不是被调用的结果。

leftTurn = function(){
        alert ('hello');        
    };

$(document).ready(function(){
    $('a').bind('click', leftTurn);
});

答案 1 :(得分:3)

我想你可能想要使用bind的回调/处理程序:

$('a').bind('click', function(){
    leftTurn();    
});

Demo

来自docs

 .bind( eventType, [ eventData ], handler(eventObject) )