当前位置: 代码迷 >> JavaScript >> 腾挪元素时,onmouseout、onmouseover、onmouseleave 都无法触发
  详细解决方案

腾挪元素时,onmouseout、onmouseover、onmouseleave 都无法触发

热度:171   发布时间:2013-08-21 10:42:06.0
移动元素时,onmouseout、onmouseover、onmouseleave 都无法触发
我用mousedown mousemove mouseup 组合出移动元素效果后,
实现了被移动元素一直跟着鼠标(当然这就是我的目的)。
但其他问题就出来了,因为鼠标一直在被移动元素上面,所以无法触发其他目标对象的onmouseout、onmouseover(或者onmouseleave、onmouseenter )也包括 onmouseup。
以前我都是通过计算其他目标元素的坐标和宽度高度来模拟出 out 或over 的,但当目标元素越来越多,这个方法很不强壮,不知道有没有更好的办法

------解决方案--------------------
你要改成每隔 500ms 判断一次 试试 
或用 elementFromPoint 来判断,判断时先隐藏一下移动对象
------解决方案--------------------
mousedown mousemove mouseup 事件可以加到body 上面。

------解决方案--------------------
在要移动的元素上对应的事件试试