ဂျပ်တိုက် ဟိုင်တာ ဒိုင်း ဖြစ်ပွားမှု စနစ်
addEventListener() ဓာတ်ပြက္ခဒိန်
实例
အသုံးပြုသူ သည် ဘေ့တာ ကို လှိုက်ခတ်လျှင် ဖြစ်ပေါ်လာသော အချက်အလက် ထပ်ထည့်သည်:
document.getElementById("myBtn").addEventListener("click", displayDate);
addEventListener()
သတ်မှတ်ထားသော အကိရိယာ အတွက် သတ်မှတ်ထားသော အချက်အလက် ထပ်ထည့်သည်。
addEventListener()
နောက်ထပ် အချက်အလက် ဖြင့် ထပ်ထည့်သည်။
သင် အကိရိယာ တစ်ခု ကို အချက်အလက် ဖြင့် ပိုမို အပေါ် ထပ်ထည့်နိုင်သည်。
您能够向一个元素添加多个相同类型的事件处理程序,例如两个 "click" 事件。
您能够向任何 DOM 对象添加事件处理程序而非仅仅 HTML 元素,例如 window 对象。
addEventListener()
方法使我们更容易控制事件如何对冒泡作出反应。
当使用 addEventListener()
方法时,JavaScript 与 HTML 标记是分隔的,已达到更佳的可读性;即使在不控制 HTML 标记时也允许您添加事件监听器。
您能够通过使用 removeEventListener()
方法轻松地删除事件监听器。
语法
element.addEventListener(event, function, useCapture);
第一个参数是事件的类型(比如 "click" 或 "mousedown")。
第二个参数是当事件发生时我们需要调用的函数。
第三个参数是布尔值,指定使用事件冒泡还是事件捕获。此参数是可选的。
注意:请勿对事件使用 "on" 前缀;请使用 "click" 代替 "onclick"。
向元素添加事件处理程序
实例
当用户点击某个元素时提示 "Hello World!":
element.addEventListener("click", function(){ alert("Hello World!"); });
您也可以引用外部“命名”函数:
实例
当用户点击某个元素时提示 "Hello World!":
element.addEventListener("click", myFunction); function myFunction() { alert ("Hello World!"); }
向相同元素添加多个事件处理程序
addEventListener()
方法允许您向相同元素添加多个事件,同时不覆盖已有事件:
实例
element.addEventListener("click", myFunction); element.addEventListener("click", mySecondFunction);
您能够向相同元素添加不同类型的事件:
实例
element.addEventListener("mouseover", myFunction); element.addEventListener("click", mySecondFunction); element.addEventListener("mouseout", myThirdFunction);
向 Window 对象添加事件处理程序
addEventListener()
允许您将事件监听器添加到任何 HTML DOM 对象上,比如 HTML 元素、HTML 对象、window 对象或其他支持事件的对象,比如 xmlHttpRequest 对象。
实例
အသုံးပြုသူ လိပ်ပျံသတ်တွင် အကြီးအကျယ် ပြောင်းလဲလာကြသော အခမ်းအနား ကို အမှုဖြူးကာ အခမ်းအနားစားစုံးခြင်းပြုထားပါသည်:
window.addEventListener("resize", function(){ document.getElementById("demo").innerHTML = sometext; });
传递参数
当传递参数值时,请以参数形式使用调用指定函数的“匿名函数”:
实例
element.addEventListener("click", function(){ myFunction(p1, p2); });
事件冒泡还是事件捕获?
在 HTML DOM 中有两种事件传播的方法:冒泡和捕获。
事件传播是一种定义当发生事件时元素次序的方法。假如
,然后用户点击了这个
元素,应该首先处理哪个元素“click”事件?
在冒泡中,最内侧元素的事件会首先被处理,然后是更外侧的:首先处理
元素的点击事件,然后是
在捕获中,最外侧元素的事件会首先被处理,然后是更内侧的:首先处理
元素的点击事件。
addEventListener() စနစ် တွင်,သင် 'useCapture' ပြင်းအားကြီး ပြင်ဆင် အသုံးပြု ပြီး ပေါ်ထွက် အခြေခံ အမျိုးအစား ကို ကျမ်းကြိုးပါ။
addEventListener(event, function, useCapture);
အခြေခံ အေဂျင်စီ false
အခါ၌ ပေါ်ထွက်သော အခြေခံ ကို ပေါ်ထွက်ပေးပါ။ true
အခါ၌ အခင်းအဖြစ် ပေါ်ထွက်သော အခြေခံ ကို ကိုက်ခတ်ပါ။
实例
document.getElementById("myP").addEventListener("click", myFunction, true); document.getElementById("myDiv").addEventListener("click", myFunction, true);
removeEventListener() စနစ်
removeEventListener()
စနစ် ဖိုးတွဲ အခင်းအဖြစ် အခြေခံ အေဂျင်စီ addEventListener()
စနစ် ဖိုးတွဲ အခင်းအဖြစ် အခြေခံ အေဂျင်စီ
实例
element.removeEventListener("mousemove", myFunction());
ဘရောက်သုတ် အေဂျင်စီ အကူအညီ
စာတမ်းအရ အားလုံး သို့ ပြောင်းလဲသွားသော ဘရောက်သုတ် များ အတွက် ပထမ ဘရောက်သုတ် အေဂျင်စီ ကို ချဲ့ချင်း ကျမ်းကြိုးတဲ့ ဘရောက်သုတ် အေဂျင်စီ များ ကို ကျမ်းကြိုးတဲ့ ဘရောက်သုတ် အေဂျင်စီ များ ကို ပေးပို့ပါ။
စနစ် | |||||
addEventListener() | 1.0 | 9.0 | 1.0 | 1.0 | 7.0 |
removeEventListener() | 1.0 | 9.0 | 1.0 | 1.0 | 7.0 |
ထင်ပေါ်မှု့IE 8、Opera 6.0 နှင့် အထင်ကြီးမှု အကျဉ်း မရှိ addEventListener()
နှင့် removeEventListener()
စနစ်။ သို့သော်လည်း,အမျိုးမျိုးသော ဘရောက်သုတ် အေဂျင်စီ များ အတွက်၊ သင် သုံးနိုင်ပါ။ attachEvent()
方法向元素添加事件处理程序,并由 detachEvent()
方法删除:
element.attachEvent(event, function); element.detachEvent(event, function);
实例
跨浏览器解决方案:
var x = document.getElementById("myBtn"); if (x.addEventListener) { // 针对主流浏览器,除了 IE 8 及更正版本 x.addEventListener("click", myFunction); } else if (x.attachEvent) { // 针对 IE 8 及更早版本 x.attachEvent("onclick", myFunction); }
HTML DOM Event 对象参考手册
如需所有 HTML DOM 事件的列表,请访问我们完整的 HTML DOM Event 对象参考手册。