我将click事件传递给我的函数,但似乎没有工作?
$('body').on("click", youclick(event));
function youclick(e){
console.log("testing");
e.stopPropagation();
}
答案 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.
因为函数是JavaScript中的第一类对象,所以我们可以对待 像对象一样的函数,所以我们可以像变量一样传递函数 并在函数中返回它们并在其他函数中使用它们。什么时候我们 将回调函数作为参数传递给另一个函数,我们是 只传递函数定义。我们没有执行 函数在参数中。我们没有传递函数 跟踪对执行括号()就像我们做的那样 执行一个功能。
由于包含函数在其中具有回调函数 参数作为函数定义,可以执行回调 随时。这允许我们在任何时候执行回调函数 在包含函数中。
请务必注意,不执行回调函数 立即。它在某些指定的地方被“回叫”(因此得名) 指向包含函数体内的内容。
$('body').on("click", youclick);
function youclick(e){
console.log("testing");
e.stopPropagation();
}