通过原生JS实现为元素添加事件的方法

 更新时间:2016年11月23日 10:50:55   投稿:jingxian  
下面小编就为大家带来一篇通过原生JS实现为元素添加事件的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

自己写了一个为元素添加事件的方法,并封装到对象中。

说明:

id : 目标元素的ID

type: 事件的类型,注意的是不能加on

fn:事件处理程序

isBubble :规定事件流

代码:

var bindEvent = {

    'add':function(id,type,fn,isBubble){

      var dom = document.getElementById(id);
      if(!isBubble) isBubble=false;
      if(dom.addEventListenner){
        dom.addEventListenner(type,fn,isBubble);
      }else if(dom.attachEvent){
        Transit = function(){
          fn.call(dom);
        }
        dom.attachEvent('on'+type,Transit);
      }else{
        dom['on'+type] = fn;
      }
    },
    'remove':function(id,type,fn,isBubble){
      var dom = document.getElementById(id);
      if(!isBubble) isBubble=false;
      if(dom.removeEventListenner){
        dom.removeEventListenner(type,fn,isBubble)
      }else if(dom.detachEvent){
        dom.detachEvent('on'+type,Transit)
      }else{
        dom['on'+type]=null;
      }

    }

  }

调用方法:

//定义事件处理程序
 function msg(){
  alert(this.tagName)
 }

 //为目标元素绑定事件
 bindEvent.add('link','click',msg,false);

 //解除目标元素绑定的事件
 bindEvent.remove('link','click',msg,false);

以上这篇通过原生JS实现为元素添加事件的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • layui实现给某一列加点击事件

    layui实现给某一列加点击事件

    今天小编就为大家分享一篇layui实现给某一列加点击事件,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-10-10
  • layui 实现二级弹窗弹出之后 关闭一级弹窗的方法

    layui 实现二级弹窗弹出之后 关闭一级弹窗的方法

    今天小编就为大家分享一篇layui 实现二级弹窗弹出之后 关闭一级弹窗的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-09-09
  • 详解Javascript百度地图接口开发文档中的类和方法

    详解Javascript百度地图接口开发文档中的类和方法

    最近在工作中在用laravel框架仿写饿了么外卖商城,于是学习了一下有关地图接口相关的知识,以下是百步地图接口开发文档的一些类和方法的使用,需要的朋友们可以参考借鉴,下面来一起看看吧。
    2017-02-02
  • 微信小程序之电影影评小程序制作代码

    微信小程序之电影影评小程序制作代码

    这篇文章主要为大家详细介绍了微信小程序之电影影评小程序制作代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-08-08
  • 学习JavaScript设计模式之状态模式

    学习JavaScript设计模式之状态模式

    这篇文章主要为大家介绍了JavaScript设计模式中的状态模式,对JavaScript设计模式感兴趣的小伙伴们可以参考一下
    2016-01-01
  • jquery 实现上下滚动效果示例代码

    jquery 实现上下滚动效果示例代码

    上下滚动的效果,不用说,大家都有看到过,本文为大家介绍下使用jquery实现上下滚动效果,感兴趣的朋友可以参考下,希望对大家有所帮助
    2013-08-08
  • 微信小程序实现select下拉框

    微信小程序实现select下拉框

    这篇文章主要为大家详细介绍了微信小程序实现select下拉框,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-07-07
  • window.location和document.location的区别分析

    window.location和document.location的区别分析

    用户不能改变document.location(因为这是当前显示文档的位置)。但是,可以改变window.location (用其它文档取代当前文档)window.location本身也是一个对象,而document.location不是对象
    2008-12-12
  • JavaScript iframe的相互操作浅析

    JavaScript iframe的相互操作浅析

    下面对iframe的所有操作都是在同一个域下进行,暂不考虑跨域调用
    2009-10-10
  • js实现加载更多功能实例

    js实现加载更多功能实例

    这篇文章主要介绍了js实现加载更多功能的方法,以实例演示了加载更多的代码实现,非常具有实用价值,需要的朋友可以参考下
    2016-10-10

最新评论