使用bind(type,[data],fn)和非内联函数

时间:2009-05-13 17:43:49

标签: jquery

$("p").bind("click", function(event){
       // code goes here
});

这是可以理解的。但是使用非内联函数并将事件作为参数传递的方式是什么?那就是:

$("p").bind("click", myFunction(event));

 function myFunction(event) {
       // code goes here
 }

谢谢!

3 个答案:

答案 0 :(得分:3)

这里是:

$("p").bind("click", myFunction);

function myFunction(event) {
    // code goes here
}

答案 1 :(得分:2)

你的问题是你给它一个参数,导致函数被执行并且返回值被替换为bind的参数。你想要做的只是提供对函数的引用作为bind的参数。通过省略括号(和参数)来做到这一点。绑定到回调提供的参数只需要包含在函数定义中。

$("p").bind("click", myFunction);

function myFunction(event) {
    // code goes here
}

答案 2 :(得分:0)

所以当你做

之类的事情时
$('p').bind('click', myFunction(event);

function myFunction(event){
//code
}

就好像你是在创建自己的'事件对象'而不是在用户操作发生时使用jQuery创建的那个?