0
    $('.nav').bind('click',alert(0));  and:
    $('.nav').bind('click',function(){alert(0)})

为什么只有第二个命令有效?

4

2 回答 2

5

jQuery.bind需要 afunction作为它的第二个参数。alert返回void,所以没有函数可以调用。

于 2012-06-17T14:06:42.370 回答
2

您在第二个命令中看到的是将命令包装在匿名函数中。单击“事件”的处理程序需要一个函数,以便一旦触发“事件”就可以执行它。

你也可以做这样的事情 -

$('.nav').bind('click',showAlert);
function showAlert(){
  alert(0);
}

这里我们传递函数的名称。

这基本上与 -

$('.nav').bind('click',function(){
  alert(0);
});
于 2012-06-17T14:08:08.653 回答