2019独角兽企业重金招聘Python工程师标准>>>

下面小编就为大家带来一篇通过原生JS实现为元素添加事件的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

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

说明:

id : 目标元素的ID

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

fn:事件处理程序

isBubble :规定事件流

代码:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

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;

      }

    }

  }

调用方法:

?

1

2

3

4

5

6

7

8

9

10

//定义事件处理程序

 function msg(){

  alert(this.tagName)

 }

 //为目标元素绑定事件

 bindEvent.add('link','click',msg,false);

 //解除目标元素绑定的事件

 bindEvent.remove('link','click',msg,false);

以上这篇通过原生JS实现为元素添加事件的方法就是小编分享给大家的全部内容了

转载于:https://my.oschina.net/u/3063271/blog/793598

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

  1. js中给元素添加类的方法

    一.原生js中添加类的方法 1.为 <div> 元素添加一个类: document.getElementById("div").classList.add(" ...

  2. jquery动态生成的元素添加事件的方法

    动态生成的元素如果要添加事件,要写成 $(document).on("click", "#txtName", function() {alert(this.va ...

  3. js原生给生成的html添加点击事件,原生js为动态元素添加监听事件

    //已存在div //创建标签 function createpage(){ var span=document.createElement('span') span.innerHTML=" ...

  4. 原生js获取html元素高度,原生JS获取元素宽高实践详解

    开篇的话 任何不是亲身实践中求得的知识,都不是属于你的. 任何求得的知识不去时常温习运用,也不是属于你的. 记录由来 在做个上拉广告功能中遇到了一个"理所当然"觉得对的用法,慢慢才 ...

  5. JS获取DOM元素的八种方法

    什么是HTML DOM 文档对象模型(Document Object Model),是W3C组织推荐的处理可扩展置标语言的标准编程接口.简单理解就是HTML DOM 是关于如何获取.修改.添加或删除 ...

  6. js常用对象:点击、双击、onload事件、鼠标相关、onblur事件和onfocus事件等;通过循环给多个元素添加事件、通过addEventListener() 方法 监听事件函数...

    1.通过标签内部添加事件 (1)onclick事件:单击事件 (2)ondbclick事件:双击事件 (3)onload事件:只能在body中使用,入口函数里有:window.   .οnlοad=f ...

  7. 网页制作插入新的元素,并且为插入的元素添加事件

    怎样向网页中插入新的元素,在JQuery中有这样的几个函数,其实写网页最大的便利也是在于很多的网页动态的实现都有现成的函数,我们需要做的就是在这个环境中应用这些函数,实现我们的动态的操作. 向网页中插 ...

  8. 给未来元素添加事件 jquery 1.10.2 版本

    <!-- 给未来元素添加事件 --><div class='dv'><button type='button' class='btn'>点击事件按钮</but ...

  9. vue点击创建input内容_vue.js怎么给input添加事件

    vue.js给input添加事件的方法:1.使用[v-on]指令可以添加事件监听,代码为[v-on:eventName="fn"]:2.使用回调函数的参数[$event]来当前触发 ...

  10. html页面中给元素添加事件常见的3种语法

    1. 使用元素的事件属性 1.1 用法 onxxxx="f();" 例如为Btn按钮添加单击事件 <script> function aaa(){alert(" ...

最新文章

  1. 4个开源在线调查工具
  2. 不能创建Outlook邮件的解决办法
  3. Ubuntu下编译ffmpeg+openh264+x264
  4. socket java 服务器端_Java 简单的Socket通讯的服务器端实现
  5. 利用for循环调用插入方法批量插入 一条失败_算法与数据结构(1):基础部分——以插入排序为例...
  6. Java DB中的Java用户定义类型(UDT)
  7. day5 Python爬虫学习
  8. Android Oreo 常见问题 2.0 | Android 开发者 FAQ Vol.9
  9. Nginx的rewrite模块疑问排查
  10. ssh实现远程登录服务器
  11. matlab不显示x,y,z轴
  12. Collecting Coins
  13. 关于【软件测试-自动化测试之面试技巧和注意事项】——侃侃而谈
  14. 杨辉三角(C语言简单版)
  15. 如何在 iPhone 上恢复已删除的短信
  16. 冗余系统研究:智能汽车的最后安全防线
  17. 信号与系统(二):拉普拉斯变换的意义:谈H(s)、h(t)、δ(t)
  18. 声明对象和实例化对象的区别
  19. #脉冲压缩仿真及源码
  20. 前端table导出excel表格方法汇总

热门文章

  1. 01函数极限的概念及性质
  2. K.image_data_format() == ‘channels_first‘
  3. 手把手教你在Linux上安装CUDA9.0(以及如何避开所有的坑)
  4. Python-Scikit learn保存机器学习训练的模型
  5. spark概念、编程模型和模块概述
  6. Scikit-learn:Feature selection特征选择和学习
  7. python批量获取图像路径txt
  8. 中文停用词文档_实战:朴素贝叶斯对文档进行分类
  9. java运行python3_Python3:如何从python运行java类文件
  10. java后台生成分页_Java实现分页的前台页面和后台代码