jQuery   发布时间:2022-04-19  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了jquery – 当目标设置动画并且在鼠标指针下传递时,不会触发mouseenter / mouseleave事件大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
在这里举例说明情况:
http://jsfiddle.net/nubrF/40/

如果将鼠标放在动画元素的路径上,则可以观察到当目标元素在鼠标指针“下方”传递时,仅在Firefox(而不是IE,Chrome或Safari)中触发事件.

我实际上有两个问题:

>这是正常的浏览器行为吗?
>当你的目标元素在鼠标指针下传递时,你建议用什么方法模拟这些事件?

我应该提一下,我已经虑了鼠标的pageX和pageY以及页面中元素的位置,但这个解决方案看起来很复杂而且不是很干净.

谢谢你的帮助.

解决方法

是的,这是正常行为.绕过它可能是放弃mou@R_262_10288@ave / mouseenter并将mousemove事件绑定到文档.从那里,获取页面上的鼠标指针位置和动画元素的offset(),()和height().如果从mousemove事件保存的最后一个点落在该区域内,则鼠标位于该元素中.

每次动画更新时都需要测试它,您可以使用animate step function进行测试.

例如

function myAnimateStepFunc(e,fX) {
    var $e = $(fx.elem);
    var p = $e.offset();
    var isin = false;
    if(lastx >= p.left && lasty >= p.top) {        
        isin =(lastx < p.left + $e.width() && lasty < p.top + $e.height());           
    }

...

这可能已经足够了,但你可以扩展它,然后自己触发mou@R_262_10288@ave / mouseenter事件,直接指向动画元素.

请注意,您需要将mousemove绑定到整个页面,因为您需要更新鼠标在页面上移动的最后位置和最后位置,而不仅仅是在动画的包含div中.

大佬总结

以上是大佬教程为你收集整理的jquery – 当目标设置动画并且在鼠标指针下传递时,不会触发mouseenter / mouseleave事件全部内容,希望文章能够帮你解决jquery – 当目标设置动画并且在鼠标指针下传递时,不会触发mouseenter / mouseleave事件所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。