คำถามติดแท็ก event-propagation

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แทน วิธีที่ดีกว่าคืออะไร

19
ฉันจะป้องกันไม่ให้เหตุการณ์ onclick ของผู้ปกครองยิงเมื่อผู้ประกาศข่าวเด็กถูกคลิกได้อย่างไร
ฉันกำลังใช้ jQuery เพื่อให้สามารถคลิก div ได้และใน div นี้ฉันยังมีเบรก ปัญหาที่ฉันพบคือเมื่อฉันคลิกที่จุดยึดทั้งเหตุการณ์การคลิกกำลังเริ่มทำงาน (สำหรับ div และตัวยึด) ฉันจะป้องกันไม่ให้เหตุการณ์ onclick ของ div ไม่ทำงานเมื่อคลิกสมอ นี่คือรหัสที่ใช้ไม่ได้: JavaScript var url = $("#clickable a").attr("href"); $("#clickable").click(function() { window.location = url; return true; }) HTML <div id="clickable"> <!-- Other content. --> <a href="http://foo.com">I don't want #clickable to handle this click event.</a> </div>

14
หยุดการแพร่กระจายเหตุการณ์ของเมาส์
วิธีที่ง่ายที่สุดในการหยุดการเผยแพร่กิจกรรมเมาส์ใน Angular 2 คืออะไร ฉันควรผ่าน$eventวัตถุพิเศษและเรียกstopPropagation()ตัวเองหรือมีวิธีอื่น ตัวอย่างเช่นใน Meteor ฉันสามารถย้อนกลับfalseจากตัวจัดการเหตุการณ์

7
ทำปฏิกิริยาป้องกันไม่ให้เกิดเหตุการณ์เดือดในส่วนประกอบที่ซ้อนกันเมื่อคลิก
นี่คือส่วนประกอบพื้นฐาน ทั้งฟังก์ชัน onClick <ul>และ<li>มี ฉันต้องการเฉพาะ onClick บน<li>ไฟไม่ใช่<ul>. ฉันจะบรรลุเป้าหมายนี้ได้อย่างไร? ฉันเล่นกับ e.preventDefault (), e.stopPropagation () ไปแล้ว class List extends React.Component { constructor(props) { super(props); } handleClick() { // do something } render() { return ( <ul onClick={(e) => { console.log('parent'); this.handleClick(); }} > <li onClick={(e) => { console.log('child'); // prevent default? prevent …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.