加载中…
个人资料
南冠彤
南冠彤
  • 博客等级:
  • 博客积分:0
  • 博客访问:412,918
  • 关注人气:59
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
相关博文
推荐博文
谁看过这篇博文
加载中…
正文 字体大小:

[转载]JS添加/绑定事件监听函数并传参数attachEvent和addEvent

(2014-06-24 18:26:38)
标签:

转载

分类: Java
 *
 * 添加事件监听函数
 * 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

0

  • 评论加载中,请稍候...
发评论

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    新浪BLOG意见反馈留言板 电话:4000520066 提示音后按1键(按当地市话标准计费) 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有