通过原生JS实现为元素添加事件的方法
2019/6/27 21:38:01
本文主要是介绍通过原生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实现为元素添加事件的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持找一找教程网。
这篇关于通过原生JS实现为元素添加事件的方法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-09vue3开发前端表单缓存自定义指令,移动端h5必备插件
- 2024-05-09React Hooks在class组件中的使用方式
- 2024-03-30[OIDC in Action] 2. 基于OIDC(OpenID Connect)的SSO(纯JS客户端)
- 2024-03-29terraform jsonencode
- 2024-03-13vuex-persist
- 2024-03-11icons for vue
- 2024-03-07breadcrumbs react js
- 2024-03-06react login page example
- 2024-03-06react router uselocation
- 2024-03-04postgres jsonb_set