Brk*_*Brk 3 javascript jquery angularjs
嘿,我使用easelJS构建了一个画布.在我的画布中,我有点使用以下语法为它们定义点击处理程序:
p.on("click", handleMouseClickEvent);
Run Code Online (Sandbox Code Playgroud)
现在我想将参数传递给处理程序handleMouseClickEvent,我知道我可以免费获取事件对象而不传递它,但是当我尝试传递一个参数时,让我说我写道:
p.on("click", handleMouseClickEvent(arg1));
Run Code Online (Sandbox Code Playgroud)
然后事件对象是未定义的,根本无法访问.如何使用上述语法传递事件对象和更多参数.
p.on("click", handleMouseClickEvent(arg1,arg2,...,argN));
Run Code Online (Sandbox Code Playgroud)
小智 5
使用jQuery时,Ravi的答案可能是最好的方法.我将尝试提供另一个视角来解决您的问题.
通过使用
p.on("click", handleMouseClickEvent(arg1));
Run Code Online (Sandbox Code Playgroud)
你没有将函数作为事件处理程序传递,而是执行它并将其返回值作为事件处理程序传递.那或许已经指出了答案,对吧?尝试定义您的事件处理程序,如下所示:
function handleMouseClickEvent(arg1)) {
return function reallyHandleMouseClickEvent(event) {
// all variables available here: arg1, event
}
}
Run Code Online (Sandbox Code Playgroud)
当然,您可以根据需要添加任意数量的argN参数.
| 归档时间: |
|
| 查看次数: |
1267 次 |
| 最近记录: |