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

อย่าใช้แท็กนี้! JavaScript ไม่มีโครงสร้างเหตุการณ์ ใช้ [dom-events], [jquery-events], [backbone-events]; หรือไลบรารี / สภาพแวดล้อม + [เหตุการณ์] เช่น [node.js] + [เหตุการณ์]

5
ละเว้นการโต้ตอบของเมาส์บนภาพซ้อนทับ
ฉันมีแถบเมนูที่มีเอฟเฟกต์วางเมาส์และตอนนี้ฉันต้องการวางภาพโปร่งใสที่มีวงกลมและข้อความ "handdrawn" บนรายการเมนูรายการใดรายการหนึ่ง หากฉันใช้การวางตำแหน่งแบบสัมบูรณ์เพื่อวางภาพซ้อนทับเหนือรายการเมนูผู้ใช้จะไม่สามารถคลิกปุ่มและเอฟเฟกต์การวางเมาส์จะไม่ทำงาน มีวิธีใดบ้างที่จะปิดการใช้งานการโต้ตอบของเมาส์กับภาพซ้อนทับนี้เพื่อให้เมนูยังคงทำงานเหมือนเดิมแม้ว่าจะอยู่ใต้รูปภาพก็ตาม แก้ไข: เนื่องจากเมนูถูกสร้างขึ้นด้วย joomla ฉันจึงไม่สามารถปรับแต่งรายการเมนูใดรายการหนึ่งได้ และแม้ว่าฉันจะทำได้ แต่ฉันก็ไม่รู้สึกว่าโซลูชันจาวาสคริปต์นั้นเหมาะสม ในที่สุดฉันก็ "ทำเครื่องหมาย" รายการเมนูด้วยลูกศรที่อยู่นอกองค์ประกอบรายการเมนู ไม่ดีเท่าที่ฉันอยากให้เป็น แต่มันก็ใช้ได้ดีอยู่ดี

15
Popstate เมื่อโหลดหน้าเว็บใน Chrome
Наэтотвопросестьответына Stack Overflow нарусском : Chrome ненужнаяперезагрузкастраницы history api ฉันใช้ History API สำหรับเว็บแอปของฉันและมีปัญหาหนึ่งอย่าง ฉันเรียก Ajax เพื่ออัปเดตผลลัพธ์บางอย่างบนเพจและใช้history.pushState ()เพื่ออัปเดตแถบตำแหน่งของเบราว์เซอร์โดยไม่ต้องโหลดหน้าซ้ำ จากนั้นฉันใช้window.popstateเพื่อกู้คืนสถานะก่อนหน้าเมื่อคลิกปุ่มย้อนกลับ ปัญหาเป็นที่ทราบกันดี - Chrome และ Firefox ปฏิบัติต่อเหตุการณ์ป๊อปสเตทแตกต่างกัน แม้ว่า Firefox จะไม่ทำงานในการโหลดครั้งแรก แต่ Chrome ก็ทำเช่นนั้น ฉันต้องการใช้รูปแบบ Firefox และไม่ทำให้เหตุการณ์เกิดขึ้นเมื่อโหลดเนื่องจากเพิ่งอัปเดตผลลัพธ์โดยให้ผลลัพธ์เดียวกันกับที่โหลด มีวิธีแก้ปัญหายกเว้นการใช้History.jsหรือไม่ เหตุผลที่ฉันไม่รู้สึกอยากใช้คือ - มันต้องการไลบรารี JS มากเกินไปด้วยตัวเองและเนื่องจากฉันต้องการให้ใช้งานใน CMS ที่มี JS มากเกินไปฉันจึงต้องการลด JS ที่ฉันใส่ลงไป . ดังนั้นอยากทราบว่ามีวิธีที่จะทำให้ Chrome ไม่เปิด 'popstate' …


1
อะไรคือความแตกต่างระหว่าง Event.target, Event.toElement และ Event.srcElement?
ฉันมีรหัสต่อไปนี้: document.oncontextmenu = function(evt) { evt = evt || window.event; console.log(evt.target, evt.toElement, evt.srcElement); }; เมื่อคลิกปุ่มเมาส์ขวาบน a <div class="foo"></div>จะส่งคืนสิ่งนี้: div.foo, div.foo, div.foo เมื่อคลิกปุ่มเมาส์ขวาบน a <input>จะส่งคืนสิ่งนี้: อินพุตอินพุตอินพุต ทั้งหมดดูเหมือนจะนำมาซึ่งผลลัพธ์เดียวกัน มีสถานการณ์ใดบ้างที่หนึ่งในนั้นมีการใช้งานที่แตกต่างจากที่อื่น ๆ ?
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.