1

我动态添加这个

$(ele).on("mouseover")

当用户将鼠标悬停在元素上时,但似乎mouseover只有当我重新输入元素时才会触发事件。

这是 jsFiddle 中的示例(单击<div>以添加事件侦听器)

如何在不手动触发的情况下实现这一目标 .mouseover()

4

3 回答 3

3

我想出的最佳解决方案是(感谢Brandon建议):

将 x,y pos 存储在文档中(稍微降低网页性能):

$(document).mousemove(function (e) {
    // Set global values
    window.mouseXPos = e.pageX;
    window.mouseYPos = e.pageY;
});

然后当动画完成时:

$(document.elementFromPoint(window.mouseXPos, window.mouseYPos)).trigger("mouseenter");
于 2013-04-08T14:42:26.547 回答
0

你不能。mouseover 仅在鼠标越过元素边界时触发。一旦鼠标在元素内,它就不会触发。您的问题表明您可能需要退后一步重新检查您的问题。如果您在鼠标已经在元素内时采取行动,那么为什么需要 mouseover 事件?

于 2013-04-07T03:38:46.227 回答
0

以这种方式附加事件处理程序后,您可以使用触发 jQuery 函数手动触发鼠标悬停

$(".test").on("click",function(){
    $(this).on("mouseover",function(){
       alert("");   
    });
    $(this).trigger('mouseover');
})
于 2013-04-07T03:42:25.003 回答