คำถามติดแท็ก addeventlistener

16
addEventListener vs onclick
ความแตกต่างระหว่างaddEventListenerและonclickคืออะไร var h = document.getElementById("a"); h.onclick = dothing1; h.addEventListener("click", dothing2); รหัสข้างต้นอยู่ร่วมกันในไฟล์. js แยกต่างหากและทำงานได้อย่างสมบูรณ์

18
จะทริกเกอร์เหตุการณ์ใน JavaScript ได้อย่างไร
addEventListenerผมได้แนบเหตุการณ์ที่กล่องข้อความโดยใช้ มันใช้งานได้ดี ปัญหาของฉันเกิดขึ้นเมื่อฉันต้องการเรียกใช้เหตุการณ์จากโปรแกรมอื่นโดยทางโปรแกรม ฉันจะทำมันได้อย่างไร

30
วิธีการส่งผ่านข้อโต้แย้งไปยังฟังก์ชั่นฟัง addEventListener?
สถานการณ์ค่อนข้างเหมือน - var someVar = some_other_function(); someObj.addEventListener("click", function(){ some_function(someVar); }, false); ปัญหาคือว่าค่าของsomeVarไม่สามารถมองเห็นได้ภายในฟังฟังก์ชั่นการฟังaddEventListenerซึ่งมันอาจจะถือว่าเป็นตัวแปรใหม่

9
Javascript - วิธีตรวจสอบว่าเอกสารถูกโหลดหรือไม่ (IE 7 / Firefox 3)
ฉันต้องการเรียกใช้ฟังก์ชันหลังจากโหลดเอกสารแล้ว แต่เอกสารนั้นอาจโหลดเสร็จหรือยังไม่เสร็จ ถ้าโหลดแล้วฉันก็สามารถเรียกใช้ฟังก์ชันได้ หากไม่โหลดขึ้นมาฉันสามารถแนบผู้ฟังเหตุการณ์ได้ ฉันไม่สามารถเพิ่ม eventlistener หลังจาก onload ถูกไล่ออกไปแล้วเพราะมันจะไม่ถูกเรียก ดังนั้นฉันจะตรวจสอบว่าเอกสารถูกโหลดได้อย่างไร ฉันลองใช้รหัสด้านล่าง แต่มันไม่ทำงานทั้งหมด ความคิดใด ๆ var body = document.getElementsByTagName('BODY')[0]; // CONDITION DOES NOT WORK if (body && body.readyState == 'loaded') { DoStuffFunction(); } else { // CODE BELOW WORKS if (window.addEventListener) { window.addEventListener('load', DoStuffFunction, false); } else { window.attachEvent('onload', DoStuffFunction); } …

8
ผูกหลายเหตุการณ์กับผู้ฟัง (โดยไม่มี JQuery)?
ในขณะที่ทำงานกับกิจกรรมของเบราว์เซอร์ฉันได้เริ่มรวมการทำงานของ touchEvents ของ Safari เข้ากับอุปกรณ์มือถือ ฉันพบว่าaddEventListeners กำลังซ้อนกับเงื่อนไข โครงการนี้ไม่สามารถใช้ JQuery ผู้ฟังเหตุการณ์มาตรฐาน: /* option 1 */ window.addEventListener('mousemove', this.mouseMoveHandler, false); window.addEventListener('touchmove', this.mouseMoveHandler, false); /* option 2, only enables the required event */ var isTouchEnabled = window.Touch || false; window.addEventListener(isTouchEnabled ? 'touchmove' : 'mousemove', this.mouseMoveHandler, false); JQuery's bindอนุญาตให้มีหลายเหตุการณ์เช่น: $(window).bind('mousemove touchmove', function(e) { //do something; …

4
เพิ่มตัวฟังเหตุการณ์แบบไดนามิก
ฉันเพิ่งเริ่มยุ่งกับ Angular 2 และฉันสงสัยว่าใครสามารถบอกวิธีที่ดีที่สุดในการเพิ่มและลบผู้ฟังเหตุการณ์จากองค์ประกอบ ฉันมีส่วนประกอบตั้งค่าแล้ว เมื่อมีการคลิกองค์ประกอบบางอย่างในแม่แบบฉันต้องการเพิ่มผู้ฟังสำหรับmousemoveองค์ประกอบอื่นของแม่แบบเดียวกัน ฉันต้องการลบผู้ฟังนี้เมื่อมีการคลิกองค์ประกอบที่สาม ฉันได้งานนี้แค่ใช้ Javascript ธรรมดาเพื่อจับองค์ประกอบแล้วเรียกมาตรฐานaddEventListener()แต่ฉันสงสัยว่ามี " Angular2.0 " วิธีการทำเช่นนี้มากกว่าที่ฉันควรจะดู

7
ผู้ฟัง JavaScript,“ keypress” ไม่พบ backspace หรือไม่
ฉันใช้keypressผู้ฟังเช่น .. addEventListener("keypress", function(event){ } อย่างไรก็ตามดูเหมือนจะไม่พบ backspace ที่ลบข้อความ ... มีผู้ฟังคนอื่นที่ฉันสามารถใช้ตรวจจับสิ่งนี้ได้หรือไม่?

9
addEventListener ไม่ทำงานใน IE8
ฉันได้สร้างช่องทำเครื่องหมายแบบไดนามิก ฉันได้ใช้addEventListenerจะเรียกฟังก์ชั่นในการคลิกช่องซึ่งทำงานใน Google Chrome และ Firefox แต่ไม่ทำงานใน Internet Explorer 8 นี่คือรหัสของฉัน: var _checkbox = document.createElement("input"); _checkbox.addEventListener("click", setCheckedValues, false); setCheckedValues เป็นตัวจัดการเหตุการณ์ของฉัน

14
วิธีตรวจสอบว่ามีตัวฟังเหตุการณ์ที่แนบแบบไดนามิกอยู่หรือไม่?
นี่คือปัญหาของฉัน: เป็นไปได้ไหมที่จะตรวจสอบว่ามีตัวฟังเหตุการณ์ที่แนบแบบไดนามิกอยู่หรือไม่? หรือฉันจะตรวจสอบสถานะของคุณสมบัติ "onclick" (?) ใน DOM ได้อย่างไร ฉันค้นหาอินเทอร์เน็ตเช่นเดียวกับ Stack Overflow เพื่อหาวิธีแก้ปัญหา แต่ไม่มีโชค นี่คือ html ของฉัน: <a id="link1" onclick="linkclick(event)"> link 1 </a> <a id="link2"> link 2 </a> <!-- without inline onclick handler --> จากนั้นใน Javascript ฉันแนบตัวฟังเหตุการณ์ที่สร้างขึ้นแบบไดนามิกไปยังลิงก์ที่ 2: document.getElementById('link2').addEventListener('click', linkclick, false); รหัสทำงานได้ดี แต่ความพยายามทั้งหมดของฉันในการตรวจจับตัวฟังที่แนบมานั้นล้มเหลว: // test for #link2 - dynamically created eventlistener …

16
ไม่สามารถอ่านคุณสมบัติ 'addEventListener' ของ null
ฉันต้องใช้วานิลลา JavaScript สำหรับโปรเจ็กต์ ฉันมีฟังก์ชั่นบางอย่างซึ่งหนึ่งในนั้นคือปุ่มที่เปิดเมนู ทำงานบนหน้าที่มีรหัสเป้าหมาย แต่ทำให้เกิดข้อผิดพลาดบนหน้าที่ไม่มีรหัส ในหน้าเหล่านั้นที่ฟังก์ชันไม่พบ id ฉันได้รับข้อผิดพลาด "ไม่สามารถอ่านคุณสมบัติ 'addEventListener' ของ null" และฟังก์ชันอื่น ๆ ของฉันไม่ทำงาน ด้านล่างนี้คือรหัสสำหรับปุ่มที่เปิดเมนู function swapper() { toggleClass(document.getElementById('overlay'), 'open'); } var el = document.getElementById('overlayBtn'); el.addEventListener('click', swapper, false); var text = document.getElementById('overlayBtn'); text.onclick = function(){ this.innerHTML = (this.innerHTML === "Menu") ? "Close" : "Menu"; return false; }; ฉันจะจัดการกับปัญหานี้ได้อย่างไร? …

8
MSIE และ addEventListener Problem ใน Javascript?
document.getElementById('container').addEventListener('copy',beforecopy,false ); ใน Chrome / Safari ข้างต้นจะเรียกใช้ฟังก์ชัน "beforecopy" เมื่อมีการคัดลอกเนื้อหาในหน้า MSIE ควรจะรองรับฟังก์ชันนี้เช่นกัน แต่ด้วยเหตุผลบางประการฉันได้รับข้อผิดพลาดนี้: "วัตถุไม่รองรับคุณสมบัติหรือวิธีการนี้" ตอนนี้ฉันเข้าใจว่า Internet Explorer จะไม่เล่นกับ body node แต่ฉันคิดว่าการให้ node by ID จะทำงานได้ดี ใครมีความคิดเกี่ยวกับสิ่งที่ฉันทำผิด? ขอบคุณล่วงหน้า. ** คะแนนโบนัสสำหรับทุกคนที่สามารถบอกได้ว่าพารามิเตอร์ที่ 3 "False" มีประโยชน์อย่างไร
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.