JavaScript事件绑定

2025-11-05 02:15:29

本经验介绍JavaScript事件绑定的知识点。

工具/原料

已安装Dreamweaver或其它网页编辑器的电脑一台

内容分析

为什么要用事件绑定?原因:

例如:当页面有一个按钮,我们给它添加 onclick 事件时 如

btn.onclick=function (){

       alert('A');

}

他会很好的弹出一个 A 出来,但是如果我们写两个呢?

btn.onclick=function (){

       alert('A');

}

btn.onclick=function (){

       alert('B');

}

那么它只会弹出一个 B,要想将 A 和 B 都弹出来调用多次 onclick事件就得用到事件绑定了。其它的事件使用也是如此。

在JavaScript中事件绑定使用 attachEvent,但是这是IE浏览器使用的,而谷歌和火狐以汽矿及其它浏览器不支持,他们使用 addEventListener。实现浏览器兼容的方法最常用的的就是 if 条件句判断了。那伐塑耕么搞清楚这两个方法的使用方法就不难了写廊追出JavaScript代码了。

JavaScript事件绑定

事件绑定

定义函数:

参数 obj为点击的元素对象,ev为事件类型注意要去掉事件的on,只写 click、dblclick、mouseover这样的事件,fn为事件运行的函数。

function myAddEvent(obj, ev, fn)

{

    if(obj.attachEvent)

   {

      obj.attachEvent('on'+ev, fn);

   }

   else

   {

      obj.addEventListener(ev, fn,false);

   }

}

调用事件绑定函数:

window.onload=function ()

{

    var oBtn1=document.getElementById('btn1');   

    myAddEvent(oBtn1,'click',function (){alert('A');});

    myAddEvent(oBtn1,'click',function (){alert('B');})

};

实现效果如图,会先弹出 A 然后再弹出 B 。是不是很简单。

JavaScript事件绑定

JavaScript事件绑定

解除事件绑定

有事件绑定当然得有解除事件绑定了,那么解除事件绑定用什么呢?还是考虑到浏览器兼容问题,使用 detachEvent 和 removeEventListener 就解决了。

怎么写?将上面的改一下不就行了。

函数代码:

function myRemoveEvent(obj, ev, fn)

{

    if(obj.detachEvent)

   {

      obj.detachEvent('on'+ev, fn);

   }

   else

   {

      obj.removeEventListener(ev, fn,false);

   }

}

注意事项

注意代码的调用

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
相关推荐
  • 阅读量:119
  • 阅读量:170
  • 阅读量:170
  • 阅读量:74
  • 阅读量:107
  • 猜你喜欢