首页 » PHP教程 » eventlistenerphp技巧_Vue进阶九十五addEventListener

eventlistenerphp技巧_Vue进阶九十五addEventListener

访客 2024-11-20 0

扫一扫用手机浏览

文章目录 [+]

element.addEventListener(event, function, useCapture);

第一个参数是事宜的类型 (如 “click” 或 “mousedown”),详参【事宜类型】

第二个参数是事宜触发后调用的函数。

eventlistenerphp技巧_Vue进阶九十五addEventListener

第三个参数是布尔值,用于描述事宜是冒泡还是捕获,该参数可选。

eventlistenerphp技巧_Vue进阶九十五addEventListener
(图片来自网络侵删)

把稳:不要利用 “on” 前缀。
例如,利用 “click” ,而不是利用 “onclick”。

可以利用函数名,来引用外部函数:

element.addEventListener("click", function(){ alert("Hello World!"); });element.addEventListener("click", myFunction);function myFunction() { alert ("Hello World!");}

向 Window 工具添加事宜句柄

window.addEventListener("resize", function(){ document.getElementById("demo").innerHTML = sometext;});通报参数

当通报参数值时,利用"匿名函数"调用带参数的函数:

var p1 = 5;var p2 = 7;document.getElementById("myBtn").addEventListener("click", function() { myFunction(p1, p2);});function myFunction(a, b) { var result = a b; document.getElementById("demo").innerHTML = result;}事宜冒泡与捕获

事宜通报有两种办法:冒泡与捕获。

事宜通报定义了元素事宜触发的顺序。
如果将 <p> 元素插入到 <div> 元素中,用户点击 <p> 元素, 哪个元素的 “click” 事宜先被触发呢?

在 冒泡 中,内部元素的事宜会先被触发,然后再触发外部元素,即: <p> 元素的点击事宜先触发,然后再触发 <div> 元素的点击事宜。

在 捕获 中,外部元素的事宜会先被触发,然后才会触发内部元素的事宜,即: <div> 元素的点击事宜先触发 ,然后再触发 <p> 元素的点击事宜。

addEventListener() 方法可以指定 “useCapture” 参数来设置通报类型:

addEventListener(event, function, useCapture);

默认值为 false, 即冒泡通报,当值为 true 时, 事宜利用捕获通报。

document.getElementById("myDiv").addEventListener("click", myFunction, true);removeEventListener()

removeEventListener()移除由 addEventListener() 添加的事宜句柄:

element.removeEventListener("mousemove", myFunction);浏览器兼容处理

var x = document.getElementById("myBtn");if (x.addEventListener) { // 所有主流浏览器,除了IE8及更早版本 x.addEventListener("click", myFunction);} else if (x.attachEvent) { // IE8及更早版本 x.attachEvent("onclick", myFunction);}

IE 8 及更早 IE 版本,Opera 7.0及其更早版本不支持 addEventListener() 和 removeEventListener() 。
但是,对付这类浏览器版本可以利用attachEvent()、 detachEvent() 来添加、移除事宜句柄:

element.attachEvent(event, function);element.detachEvent(event, function);

相关文章