当我尝试使用以下参数附加事件处理函数时:
@H_301_2@myhandle.onclick = myfunction(param1,param2);
function myfunction(param1,param2){
}
现在我想在我的处理函数中访问事件对象.网络上提到了一种发送事件对象的方法,例如:
@H_301_2@myhandle.onclick = myfunction(event,param1,param2);但是当我测试它时,它给出的事件对象是未定义的.
我知道库使这个东西变得容易,但我正在寻找一个原生的JS选项.
解决方法
我不完全确定你要做什么,但也许这样的东西就是你要找的东西?
@H_301_2@function myfunction(param1,param2){
return function(event) {
// For compatibility with IE.
if (!event) {
event = window.event;
}
alert("event = " + event + ",param1 = " + param1 + ",param2 = " + param2);
};
}
myhandle.onclick = myfunction(param1,param2);
最终的结果是myfunction内部的匿名函数将被称为onclick处理程序,导致事件加上打印的两个参数.这两个参数在添加事件处理程序时是固定的,而事件将在每次用户单击myhandle时更改.