jQuery `[jQuery created Element].is(":hover")` 似乎只适用于 Chrome
jQuery `[jQuery created Element].is(":hover")` Only Seems To Work In Chrome
请看下面的代码(非常简单,不是我的全部功能)。我还有一个 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
时,我希望函数为 return true。
在我的完整功能中:这会阻止它隐藏 div.over
元素。
在 Chrome 中打开它,它按预期工作。但是,它几乎不存在于其他所有内容中(测试于:Edge、IE11 和 Firefox)。
好吧,我们已经找到了为什么 :hover
不久前从 .is()
中删除了。
与其更改此问题以适应我的发现,不如问另一个问题(避免混淆)。
我的新问题:
请看下面的代码(非常简单,不是我的全部功能)。我还有一个 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
时,我希望函数为 return true。
在我的完整功能中:这会阻止它隐藏 div.over
元素。
在 Chrome 中打开它,它按预期工作。但是,它几乎不存在于其他所有内容中(测试于:Edge、IE11 和 Firefox)。
好吧,我们已经找到了为什么 :hover
不久前从 .is()
中删除了。
与其更改此问题以适应我的发现,不如问另一个问题(避免混淆)。
我的新问题: