代码之家  ›  专栏  ›  技术社区  ›  glenn223

jQuery“[jQuery创建的元素]。is(“:hover”)`似乎只适用于Chrome

  •  2
  • glenn223  · 技术社区  · 7 年前

    请看下面的代码(非常精简,不是我的全部功能)。我还有一把小提琴,你可以在那里测试它: 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 稍微重叠。当你从 分区结束 我希望函数返回true。

    分区结束 要素

    在Chrome中打开它,它会按预期工作。然而,它并没有出现在几乎所有的内容中(在Edge、IE11和Firefox中进行了测试)。

    1 回复  |  直到 7 年前
        1
  •  0
  •   glenn223    7 年前

    好的,我们已经找到了为什么它不起作用的原因 :hover 已从中删除 .is() 不久前。


    Keep jQuery Appended Element Open When Hovering It