ກຣາດໂອບ ຮັດໂມ ຜູ້ຟັງສະຖານະເຫດ
- ຫນ້ານັ້ນ ການເຫດການ DOM
- ຫນ້ານັ້ນ ການອອກໄປເຂດ DOM
addEventListener() 方法
ຄວາມຍິງ
ເພີ່ມການຟັງເຫດການທີ່ຈະຖືກຈຸດຢູ່ບັງຄັບເມື່ອຜູ້ນຳໃຊ້ຄົງຢູ່ບັງຄັບ:
document.getElementById("myBtn").addEventListener("click", displayDate);
addEventListener()
ກົນລະບົບສະເໜີການຈັດການເຫດການສຳລັບປະກອບທີ່ກໍານົດ.
addEventListener()
ກົນລະບົບສະເໜີການຈັດການເຫດການສຳລັບປະກອບທີ່ບໍ່ຈະປຸກລະດັບການຈັດການເຫດການທີ່ມີກ່ອນ.
ທ່ານສາມາດເພີ່ມຫຼາຍການຈັດການເຫດການໃຫ້ປະກອບ.
您能够向一个元素添加多个相同类型的事件处理程序,例如两个 "click" 事件。
您能够向任何 DOM 对象添加事件处理程序而非仅仅 HTML 元素,例如 window 对象。
addEventListener()
ກົນລະບຽບນີ້ທີ່ຈະຫຼຸດຜ່ອນຄວາມຄິດຂອງ JavaScript ກັບ HTML Markup, ເພື່ອຄວາມອ່ອນອັນສູງຂອງຄວາມອ່ອນອັນ; ເຖິງວ່າບໍ່ມີການຄວບຄຸມ HTML Markup, ທ່ານຈະສາມາດແຕ່ງຕັ້ງການກວດສອບສະຖານະການບໍ່ດັງ:
ທ່ານສາມາດໃຊ້ addEventListener()
ກົນລະບຽບນີ້ທີ່ຈະຫຼຸດຜ່ອນຄວາມຄິດຂອງ JavaScript ກັບ HTML Markup, ເພື່ອຄວາມອ່ອນອັນສູງຂອງຄວາມອ່ອນອັນ; ເຖິງວ່າບໍ່ມີການຄວບຄຸມ HTML Markup, ທ່ານຈະສາມາດແຕ່ງຕັ້ງການກວດສອບສະຖານະການບໍ່ດັງ:
ທ່ານສາມາດໃຊ້ removeEventListener()
ກົນລະບຽບນີ້ອະນຸຍາດທ່ານກຳລັງການລົບການກວດສອບສະຖານະການງ່າຍດາຍ.
ກົນລະບຽບ
element.addEventListener(event, function, useCapture);
ຄຳຕອບທີໜຶ່ງແມ່ນຮູບແບບຂອງສະຖານະການ (event type) ອີງຕາມ "click" ຫຼື "mousedown".
ຄຳຕອບທີສອງແມ່ນການເອິ້ນຫຼັກກິດທີ່ທ່ານຕ້ອງເອິ້ນຫຼັງການເກີດສະຖານະການ.
ຄຳຕອບທີສາມແມ່ນຄຳຕອບ Boolean ທີ່ກ່ຽວກັບການໃຊ້ການກວດສອບສະຖານະການຈາກບັນດາສະຖານະການຫຼືການກວດສອບສະຖານະການ. ຄຳຕອບນີ້ແມ່ນຄຳຕອບທີ່ຈະເປັນ.
ຄຳເຫັນ:ບໍ່ຕ້ອງໃຊ້ການເພີ່ມ "on" ກ່ອນສະຖານະການ; ທ່ານຈະໃຊ້ "click" ແທນ "onclick".
ການແຕ່ງຕັ້ງການກວດສອບສະຖານະການໃຫ້ສິ່ງ:
ຄວາມຍິງ
ທ່ານສາມາດສະແດງ "Hello World!" ໃຫ້ຜູ້ນຳໃຊ້ເວລາທີ່ການກົດດັງສິ່ງ:
element.addEventListener("click", function(){ alert("Hello World!"); });
ທ່ານກໍ່ສາມາດອ້າງຫຼັກກິດສະຖານະການ "ອອກຈາກບາງບ່ອນ" (named) function:
ຄວາມຍິງ
ທ່ານສາມາດສະແດງ "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 Object
addEventListener()
ອະນຸຍາດທີ່ເຈົ້າຈະແຕ່ງຕັ້ງການກວດສອບສະຖານະການບໍ່ດັງສິ່ງໃດໃນສິ່ງເປັນ HTML DOM Object ອີງຕາມ HTML Element, HTML Object, window Object ຫຼື Object ທີ່ສະຫຼັບການກວດສອບສະຖານະການ, ອີງຕາມ xmlHttpRequest Object.
ຄວາມຍິງ
ການແຕ່ງຕັ້ງການກວດສອບສະຖານະການພາຍໃນຂອງຜູ້ນຳໃຊ້ບ່ອນກວດຄືນມື້ມື້ຍິງ:
window.addEventListener("resize", function(){ document.getElementById("demo").innerHTML = sometext; });
ສົ່ງຂໍ້ມູນ
ຖ້າມີຄຳສັ່ງວ່າຄວນໃຊ້ວິທີການໃນທາງວິທີທີ່ບໍ່ມີຊື່
ຄວາມຍິງ
element.addEventListener("click", function(){ myFunction(p1, p2); });
ການກະຈາຍປະຕູປະຕູ ຫລື ການກະຈາຍຂັ້ນຕອນ?
ໃນ HTML DOM ມີສະແດງວ່າການກະຈາຍຂອງການສົ່ງຂໍ້ມູນສອງພາດ: ການກະຈາຍປະຕູປະຕູ ແລະ ການກະຈາຍຂັ້ນຕອນ
ການກະຈາຍຂອງການສົ່ງຂໍ້ມູນແມ່ນກົນລະຍຸດທີ່ພົບວ່າເມື່ອມີການເກີດການສົ່ງຂໍ້ມູນທີ່ສະແດງວ່າທີ່ສະແດງວ່າ: ຖ້າມີ <div> ໃນອັນໄວລະບັນ <p> ແລະຜູ້ນຳໃຊ້ກະທັບຄິດ <p> ທີ່ຄວນກະຈາຍການຄິດທີ່ສະແດງວ່າ?
ໃນການກະຈາຍຂັ້ນຕອນຫນັງໃກ້ສຸດຈະຖືກກະຈາຍຄັ້ງທຳອິດແລະຫນັງໃກ້ກັນຫນັງທີ່ຢູ່ໃນທິດທາງໃນໃນທຳອິດ: ກະຈາຍການຄິດທີ່ຫນັງ <p> ແລະຫນັງ <div> ທຳອິດ
ໃນການກະຈາຍຕົວເກຣັກຄັດກັບຫນັງໃກ້ສຸດຈະຖືກກະຈາຍຄັ້ງທຳອິດແລະຫນັງໃກ້ກັນຫນັງທີ່ຢູ່ໃນທິດທາງໃນໃນທຳອິດ: ກະຈາຍການຄິດທີ່ຫນັງ <div> ແລະຫນັງ <p> ທຳອິດ
ໃນການໃຊ້ກົນລະຍຸດ addEventListener() ທ່ານສາມາດໃຊ້ມາຕິດຕາມການກະຈາຍຂອງການສົ່ງຂໍ້ມູນວ່າ
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 ໂອລເກຣັກ。
- ຫນ້ານັ້ນ ການເຫດການ DOM
- ຫນ້ານັ້ນ ການອອກໄປເຂດ DOM