30
HTML5 dragleave ใช้งานเมื่อทำการวางตัวองค์ประกอบลูก
ปัญหาที่ฉันมีคือdragleaveเหตุการณ์ขององค์ประกอบนั้นถูกไล่ออกเมื่อทำการวางตัวองค์ประกอบย่อยขององค์ประกอบนั้น นอกจากนี้dragenterจะไม่ถูกไล่ออกเมื่อโฮเวอร์กลับองค์ประกอบหลักอีกครั้ง ฉันทำไวโอลินง่าย: http://jsfiddle.net/pimvdb/HU6Mk/1/ HTML: <div id="drag" draggable="true">drag me</div> <hr> <div id="drop"> drop here <p>child</p> parent </div> ด้วย JavaScript ต่อไปนี้: $('#drop').bind({ dragenter: function() { $(this).addClass('red'); }, dragleave: function() { $(this).removeClass('red'); } }); $('#drag').bind({ dragstart: function(e) { e.allowedEffect = "copy"; e.setData("text/plain", "test"); } }); สิ่งที่ควรทำคือการแจ้งผู้ใช้ด้วยการทำให้divสีแดงหล่นเมื่อลากสิ่งที่มี วิธีนี้ใช้ได้ผล แต่ถ้าคุณลากเข้าสู่pเด็กการdragleaveถูกไล่ออกและdivจะไม่เป็นสีแดงอีกต่อไป การย้ายกลับไปยังการดร็อปdivไม่ทำให้แดงอีกเลย มีความจำเป็นที่จะต้องย้ายออกจากการตกdivและลากกลับเข้าไปอีกครั้งเพื่อทำให้เป็นสีแดง เป็นไปได้หรือไม่ที่จะป้องกันไม่ให้dragleaveยิงเมื่อลากเข้าสู่องค์ประกอบย่อย 2017 …