这两个命令有什么区别?

时间:2012-06-17 14:04:58

标签: javascript jquery

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

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

2 个答案:

答案 0 :(得分:5)

jQuery.bind需要function作为其第二个参数。 alert返回void,因此无法调用函数。

答案 1 :(得分:2)

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

你也可以这样做 -

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

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

这与 -

基本相同
$('.nav').bind('click',function(){
  alert(0);
});