javascript对象事件绑定方法

今天在做对象事件绑定的过程中出现了一点异外情况,由于事件方法是由参数传过来的,需要将当前对象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 移除事件