请参阅下面的代码(非常精简,不是我的完整功能)。我还有一个 fiddle ,您可以在以下位置测试它:https://jsfiddle.net/glenn2223/uk7e7rwe/1/
var
hov = $("<div class=\"over\">I'm Over You</div>"),
box = $("<div>Result: WAITING</div>")
$("body").append(hov).append(box);
$("#MeHover").on('mouseleave', function(){
var d = new Date();
box.text("Result: " + hov.is(":hover").toString().toUpperCase() );
});
我们有一个 div
和 div.over
稍微重叠它。当您从 div
移动到 div.over
时,我希望该函数返回 true。
在我的完整函数中:这会阻止它隐藏 div.over
元素。
在 Chrome 中打开它,它可以按预期工作。然而,它并不适用于其他所有东西(已在 Edge、IE11 和 Firefox 中测试)。
最佳答案
好的,我们已经知道为什么它不起作用了,不久前从 .is()
中删除了 :hover
。
我不会改变这个问题来适应我的发现,而是会问另一个问题(避免困惑)。
关于javascript - jQuery `[jQuery created Element].is(":hover")` Only Seems To Work In Chrome,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46320025/