คำถามติดแท็ก dom-events

เหตุการณ์ DOM (Document Object Model) อนุญาตให้ภาษาการเขียนโปรแกรมขับเคลื่อนเหตุการณ์เพื่อลงทะเบียนตัวจัดการเหตุการณ์ / ผู้ฟังบนโหนดองค์ประกอบภายในแผนผัง DOM

13
event.preventDefault () กับ return false
คุณเป็นผู้ดูแลระบบStack Overflow нарусском : "PreventDefault ()" или "return false" หรือไม่ เมื่อฉันต้องการป้องกันตัวจัดการเหตุการณ์อื่นไม่ให้ดำเนินการหลังจากเหตุการณ์บางอย่างเกิดขึ้นฉันสามารถใช้หนึ่งในสองเทคนิค ฉันจะใช้ jQuery ในตัวอย่าง แต่สิ่งนี้ใช้ได้กับ plain-JS ด้วย: 1 event.preventDefault() $('a').click(function (e) { // custom handling here e.preventDefault(); }); 2 return false $('a').click(function () { // custom handling here return false; }); มีความแตกต่างอย่างมีนัยสำคัญระหว่างสองวิธีในการหยุดการเผยแพร่เหตุการณ์หรือไม่? สำหรับฉันนั้นreturn false;ง่ายกว่าสั้นกว่าและอาจเกิดข้อผิดพลาดน้อยกว่าการใช้วิธีการ ด้วยวิธีการนี้คุณต้องจำไว้เกี่ยวกับการใส่ปลอกวงเล็บที่ถูกต้องและอื่น ๆ นอกจากนี้ฉันต้องกำหนดพารามิเตอร์แรกในการโทรกลับเพื่อให้สามารถเรียกวิธีการ อาจมีสาเหตุบางอย่างที่ฉันควรหลีกเลี่ยงการทำเช่นนี้และใช้preventDefaultแทน วิธีที่ดีกว่าคืออะไร



23
จะทำให้ JavaScript ทำงานหลังจากโหลดหน้าเว็บได้อย่างไร
ฉันรันสคริปต์ภายนอกใช้ภายใน<script><head> ตอนนี้เนื่องจากสคริปต์ทำงานก่อนหน้าโหลดฉันไม่สามารถเข้าถึง<body>เหนือสิ่งอื่นใด ฉันต้องการเรียกใช้งาน JavaScript บางส่วนหลังจากเอกสาร "โหลดแล้ว" (ดาวน์โหลด HTML ทั้งหมดและในแรม) มีเหตุการณ์ใดบ้างที่ฉันสามารถขอเมื่อสคริปต์ของฉันดำเนินการที่จะถูกเรียกใช้ในการโหลดหน้า?


12
เหตุการณ์การปรับขนาดหน้าต่าง JavaScript
ฉันจะขอปรับขนาดเหตุการณ์หน้าต่างปรับขนาดเบราว์เซอร์ได้อย่างไร มีวิธี jQuery ในการฟังสำหรับปรับขนาดกิจกรรมแต่ฉันไม่ต้องการที่จะนำมาไว้ในโครงการของฉันสำหรับข้อกำหนดนี้

13
บน - window.location.hash - เปลี่ยนหรือไม่
ฉันใช้อาแจ็กซ์และแฮสำหรับการนำทาง มีวิธีตรวจสอบการwindow.location.hashเปลี่ยนแปลงเช่นนี้หรือไม่? http://example.com/blah # 123ถึงhttp://example.com/blah # 456 มันทำงานได้ถ้าฉันตรวจสอบเมื่อเอกสารโหลด แต่ถ้าฉันใช้การนำทาง #hash จะไม่ทำงานเมื่อฉันกดปุ่มย้อนกลับบนเบราว์เซอร์ (ดังนั้นฉันจึงข้ามจาก blah # 456 ไปยัง blah # 123) มันแสดงอยู่ข้างในกล่องที่อยู่ แต่ฉันไม่สามารถจับมันด้วย JavaScript

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



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

18
ป้อนกิจกรรมการกดปุ่มใน JavaScript
ฉันมีformสองกล่องข้อความหนึ่งเลือกหล่นลงและเป็นหนึ่งปุ่ม เมื่อenterกดปุ่มฉันต้องการเรียกใช้ฟังก์ชัน Javascript (กำหนดโดยผู้ใช้) แต่เมื่อฉันกดมันจะส่งแบบฟอร์ม ฉันจะป้องกันไม่ให้มีformการส่งเมื่อenterกดปุ่มได้อย่างไร

12
onKeyPress onKeyUp และ onKeyDown
ความแตกต่างระหว่างสามเหตุการณ์นี้คืออะไร? เมื่อ googling ฉันพบว่า: onKeyDownเหตุการณ์จะถูกเรียกเมื่อผู้ใช้กดปุ่ม onKeyUpเหตุการณ์จะถูกเรียกเมื่อผู้ใช้ออกที่สำคัญ onKeyPressเหตุการณ์จะถูกเรียกเมื่อผู้ใช้กดและเผยแพร่คีย์ ( onKeyDownตามonKeyUp) ฉันเข้าใจสองคนแรก แต่ไม่onKeyPressเหมือนกันonKeyUpหรือ เป็นไปได้ไหมที่จะปล่อยกุญแจ ( onKeyUp) โดยไม่ต้องกดมัน ( onKeyDown)? นี่เป็นเรื่องที่ค่อนข้างสับสนใครบางคนช่วยเคลียร์สิ่งนี้ให้ฉันได้ไหม

14
รอ 5 วินาทีก่อนดำเนินการบรรทัดถัดไป
ฟังก์ชั่นด้านล่างนี้ไม่ทำงานเหมือนที่ฉันต้องการ การเป็น JS สามเณรฉันไม่สามารถหาสาเหตุได้ ฉันต้องการมันจะรอ 5 วินาทีก่อนที่จะตรวจสอบว่าเป็นnewState-1 ขณะนี้ไม่รอเพียงตรวจสอบทันที function stateChange(newState) { setTimeout('', 5000); if(newState == -1) { alert('VIDEO HAS STOPPED'); } }

9
ไม่สามารถเข้าใจพารามิเตอร์ useCapture ใน addEventListener
ฉันได้อ่านบทความที่https://developer.mozilla.org/en/DOM/element.addEventListenerแต่ไม่เข้าใจuseCaptureคุณลักษณะ คำจำกัดความคือ: หากเป็นจริง useCapture จะระบุว่าผู้ใช้ต้องการเริ่มต้นการจับภาพ หลังจากเริ่มต้นการจับภาพเหตุการณ์ทั้งหมดของประเภทที่ระบุจะถูกส่งไปยังผู้ฟังที่ลงทะเบียนก่อนที่จะถูกส่งไปยัง EventTargets ใด ๆ ที่อยู่ด้านล่างในต้นไม้ DOM เหตุการณ์ที่เดือดพล่ามผ่านต้นไม้จะไม่ทำให้ผู้ฟังที่ได้รับมอบหมายให้ใช้การดักจับ ในเหตุการณ์รหัสแม่นี้ก่อให้เกิดก่อนที่เด็กดังนั้นฉันไม่สามารถเข้าใจพฤติกรรมของวัตถุวัตถุเอกสารมี usecapture จริงและลูก div มีชุด usecapture เท็จและเอกสาร usecapture เป็นไปดังนั้นคุณสมบัติของเอกสารที่ต้องการมากกว่าเด็ก function load() { document.addEventListener("click", function() { alert("parent event"); }, true); document.getElementById("div1").addEventListener("click", function() { alert("child event"); }, false); } <body onload="load()"> <div id="div1">click me</div> </body> เรียกใช้ข้อมูลโค้ดซ่อนผลลัพธ์ขยายตัวอย่างข้อมูล

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.