JS添加/绑定事件监听函数并传参数attachEvent和addEventListener兼容个浏览器addEventHandler
*
* 添加事件监听函数
* obj 要添加监听的对象或元素
* eventName 事件名
* fun 监听函数的名称
* param 给监听函数传的参数,这里就传了一个参数
*
function addEventHandler(obj,eventName,fun,param=''){
var fn = fun;
if(param)
{
fn = function(e)
{
fun.call(this, param); //继承监听函数,并传入参数以初始化;
}
}
if(obj.attachEvent){
obj.attachEvent('on'+eventName,fn);
}else if(obj.addEventListener){
obj.addEventListener(eventName,fn,false);
}else{
obj["on" + eventName] = fn;
}
}
*
* 删除事件监听函数
* obj 要添加监听的对象或元素
* eventName 事件名
* fun 监听函数的名称
*
function removeEventHandler(obj, eventName, fun) {
if (obj.removeEventListener)
obj.removeEventListener(eventName, fun, false);
else if (obj.detachEvent)
obj.detachEvent("on" + eventName, fun);
else delete obj["on" + eventName];
}
JS添加/绑定事件监听函数测试
//添加test02监听函数
function test2(){
var oview = document.getElementByIdx_x_x_x_x('eT1');
addEventHandler(oview,'click',test02);
}
//删除test02监听函数
function test2D(){
var oview = document.getElementByIdx_x_x_x_x('eT1');
removeEventHandler(oview,'click',test02);
}
var test002 = 0;
function test02(){
test002++;
document.getElementByIdx_x_x_x_x('sub').innerHTML = test002;
}
演示地址: demo/test11.html
转载请注明:同盟者 本文来源:http://blog.sina.com.cn/tomener

浙公网安备 33010602011771号