试图将我的优先事项包括在内:
var _myFn = function(param1, param2) {
event.stopPropagation(); // this is what I want = read or affect click event information
// do stuff with context, param1 and param2
};
element.addEventListener('click', _myFn.bind(context, param1, param2));
Run Code Online (Sandbox Code Playgroud)
我还没有看到bind()方法允许传递点击的事件信息.我知道我可以重写我的处理程序逻辑但是有没有办法这样做呢?如果不是一个优雅的方法来解决这个问题?
我需要一个ES5解决方案.
实际的方法参数将遵循绑定参数
在调用目标函数时预先添加到绑定函数的参数的参数.
var _myFn = function(param1, param2, e) {
e.stopPropagation();
alert(e.target.tagName)
}
var param1 = 1,
param2 = 2;
element.addEventListener('click', _myFn.bind(this, param1, param2));Run Code Online (Sandbox Code Playgroud)
<div id="element">Click me</div>Run Code Online (Sandbox Code Playgroud)