今天在做对象事件绑定的过程中出现了一点异外情况,由于事件方法是由参数传过来的,需要将当前对象call过去,方便方法体里直接调用this
错误写法
obj.onclick=p.click.call(作用域对象);
发现事件方法在初始化的时候就触发了,而且绑定失败。
正确的写法
ojb.onclick=function(){
p.click.call(作用域对象);
};
其实这里和作用域无关,还是绑定方法不对。所以总结了下js的对象事件绑定方法

1、内联模型
<input type="button" value="按钮" onclick="test()"/>

2、脚本模型
obj.onclick=function(){
alert("d");
test();//其它方法
}
obj.onclick=test;
3、事件监听绑定
var obj=document.getElementById("button1");
//添加事件
obj.addEventListener("click",function(){
//
});

// removeEventListener 移除事件

相关文章:

  • 2021-06-27
  • 2022-01-24
  • 2021-12-20
  • 2022-01-12
  • 2021-07-25
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-07-24
  • 2021-11-22
  • 2021-11-07
相关资源
相似解决方案