ກຣາດໂອບ ຮັດໂມ ຜູ້ຟັງສະຖານະເຫດ

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 ໂອລເກຣັກ