首页 > 代码库 > 对象里的handleEvent
对象里的handleEvent
最近看swipe.js源码看到handleEvent这个属性。查了一下资料才知道:
使用 addEventListener 可以绑定事件,并传入回调函数。
Mozilla 0.9.1 和 Netscape 6.1 之后的版本不但支持传递函数引用,也都允许直接把拥有 handleEvent 方法的对象作为 addEventListener 方法的第二参数。
看例子1, 最简单的实现方式
html
<div id="box" style="background:#ccc;width:500px;height:200px">
var events={ handleEvent:function(){alert(‘秋风落叶‘)} } var elem = document.getElementById(‘box‘); elem.addEventListener(‘click‘,events,false)
例子2:
var events={ handleEvent:function(event){ switch(event.type){ case ‘click‘: this.click();break; case ‘mouseover‘: this.mouseover();break; case ‘mouseout‘: this.mouseout();break } }, click:function(){ console.log(‘click me‘) }, mouseover:function(){ console.log(‘mouseover‘) }, mouseout:function(){ console.log(‘mouseout‘) } } var elem = document.getElementById(‘box‘); elem.addEventListener(‘click‘,events,false) elem.addEventListener(‘mouseover‘,events,false) elem.addEventListener(‘mouseout‘,events,false)
例子3,这一个只是对上面的例子2进行了修改
var events={ handleEvent:function(event){ switch(event.type){ case ‘click‘: this.click();break; case ‘mouseover‘: this.mouseover();break; case ‘mouseout‘: this.mouseout();break } }, click:function(){ elem.addEventListener(‘mouseover‘,this,false) elem.addEventListener(‘mouseout‘,this,false) console.log(‘click me‘) }, mouseover:function(){ console.log(‘mouseover‘) }, mouseout:function(){ console.log(‘mouseout‘) } } var elem = document.getElementById(‘box‘); elem.addEventListener(‘click‘,events,false)
例子3 mouseover mouseout只有在click触发之后才对DOM元素绑定事件。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。