我所遇到的问题是,当悬停元素的子元素时,元素的dragleave事件被触发。此外,当再次悬停父元素时,不会触发dragenter。
HTML:
drag me
drop here
child
parent
使用以下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也不会使它再次红色。有必要完全移出drop div,然后再拖回来,使其变成红色。
是否可以防止dragleave在触发子元素时触发?