自定义功能不起作用?

时间:2014-02-19 08:17:54

标签: javascript jquery

我将click事件传递给我的函数,但似乎没有工作?

$('body').on("click", youclick(event));

function youclick(e){
    console.log("testing");
    e.stopPropagation();

}

2 个答案:

答案 0 :(得分:3)

只需传递reference本身的function即可。而且您无需通过event,您可以通过global scope

收到

尝试,

$('body').on("click", youclick);

function youclick(e){
    console.log("testing");
    e.stopPropagation();

}

答案 1 :(得分:1)

正如@Rajaprabhu建议的那样。当您使用回调函数(youclick(e))时,回调参数(youclick)作为函数名本身传递,不带参数甚至是打开或关闭括号。

It means that a reference of the function is passed in the function call.

How CallBack Function works?

  

因为函数是JavaScript中的第一类对象,所以我们可以对待   像对象一样的函数,所以我们可以像变量一样传递函数   并在函数中返回它们并在其他函数中使用它们。什么时候我们   将回调函数作为参数传递给另一个函数,我们是   只传递函数定义。我们没有执行   函数在参数中。我们没有传递函数   跟踪对执行括号()就像我们做的那样   执行一个功能。

     

由于包含函数在其中具有回调函数   参数作为函数定义,可以执行回调   随时。这允许我们在任何时候执行回调函数   在包含函数中。

     

请务必注意,不执行回调函数   立即。它在某些指定的地方被“回叫”(因此得名)   指向包含函数体内的内容。

$('body').on("click", youclick);

function youclick(e){
    console.log("testing");
    e.stopPropagation();

}