JavaScript
发布时间:2022-04-16 发布网站:大佬教程 code.js-code.com
大佬教程收集整理的这篇文章主要介绍了js事件监听器用法实例详解,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
本文实例讲述了js事件监听器用法。分享给大家供大家参考。具体分析如下:
1、当同一个对象使用.onclick的写法触发多个方法的时候,后一个方法会把前一个方法覆盖掉,也就是说,在对象的onclick事件发生时,只会执行最后绑定的方法。而用事件监听则不会有覆盖的现象,每个绑定的事件都会被执行。如下:
.onload = function()
{
var btn = document.getElementById("yuanEvent"
);
btn
.onclick = function()
{
alert("第一个事件"
);
}
btn
.onclick = function()
{
alert("第二个事件"
);
}
btn
.onclick = function()
{
alert("第三个事件"
);
}
}
最后只输出:第三个事件,因为后一个方法都把前一个方法覆盖掉了。
原生态的事件绑定函数addEventListener:
{
alert("第一个监听事件"
);
}
function eventTwo()
{
alert("第二个监听事件"
);
}
window
.onload = function()
{
var btn = document.getElementById("yuanEvent"
);
//addEventListener:绑定函数
btn.addEventListener("click",eventOn
E);
btn.addEventListener("click",eventTwo
);
}
输出:第一个监听事件 和 第二个监听事件
2、采用事件监听给对象绑定方法后,可以解除相应的绑定,写法如下:
{
alert("第一个监听事件"
);
}
function eventTwo()
{
alert("第二个监听事件"
);
}
window
.onload = function()
{
var btn = document.getElementById("yuanEvent"
);
btn.addEventListener("click",eventTwo
);
btn.removeEventListener("click",eventOn
E);
}
输出:第二个监听事件
3、解除绑定事件的时候一定要用函数的句柄,把整个函数写上是无法解除绑定的。
错误写法:
{
alert(11
);
}
);
btn.removeEventListener("click",function()
{
alert(11
);
}
);
正确写法:
);
btn.removeEventListener("click",eventOn
E);
总结:对函数进行封装后的监听事件如下,兼容各大主流浏览器。
C)
{
if(target.addEventListener)
{
//监听IE9,谷歌和火狐
target.addEventListener(type,func,
fals
E);
}else if(target.attachEvent)
{
target.attachEvent("on" + type,func
);
}else
{
target["on" + type] = fun
c;
}
}
/*
* removeEventHandler:移除Dom元素的事件
*
* target:监听对象
* type:监听函数类型,如click,mouseover
* func:监听函数
*/
function removeEventHandler(target,fun
C) {
if (target.removeEventListener)
{
//监听IE9,谷歌和火狐
target.removeEventListener(type,
fals
E);
} else if (target.detachEvent)
{
target.detachEvent("on" + type,func
);
}else
{
delete target["on" + type];
}
}
var eventOne = function()
{
alert("第一个监听事件"
);
}
function eventTwo()
{
alert("第二个监听事件"
);
}
window
.onload = function()
{
var bindEventBtn = document.getElementById("bindEvent"
);
//监听eventOne事件
addEventHandler(bindEventBtn,"click",eventOn
E);
//监听eventTwo事件
addEventHandler(bindEventBtn,eventTwo
);
//监听本身的事件
addEventHandler(bindEventBtn,function()
{
alert("第三个监听事件"
);
}
);
//取消第一个监听事件
removeEventHandler(bindEventBtn,eventOn
E);
//取消第二个监听事件
removeEventHandler(bindEventBtn,eventTwo
);
}
实例:
450_36@
http-equiv="Content-Type" content="text/html; charset=UTF-8">
Event
PS:这里再为大家提供一个关于JS事件的在线工具,归纳总结了JS常用的事件类型与相关函数功能:
javascript事件与功能说明大全:
http://tools.jb51.cc/table/javascript_event">http://tools.jb51.cc/table/javascript_event
希望本文所述对大家的javascript程序设计有所帮助。
大佬总结
以上是大佬教程为你收集整理的js事件监听器用法实例详解全部内容,希望文章能够帮你解决js事件监听器用法实例详解所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。