gpt4 book ai didi

javascript - 悬停时保持 jQuery `Appended` 元素打开

转载 作者:行者123 更新时间:2023-12-03 03:25:35 25 4
gpt4 key购买 nike

我自己已经回答了(参见答案)

所以从 jQuery `[jQuery created Element].is(“:hover”)` Only Seems To Work In Chrome 开始.

更多背景:
当我们从 DOM 中已有的元素移动到 jQuery 的 .append() 方法添加的元素时,我试图保持悬停。

我使用的是.is(":hover")。此方法在 Chrome 中运行良好,但在其他浏览器中不起作用。正如我们发现的(从上面的链接)它不久前就被删除了。

旧:悬停方法

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() );
});

最佳答案

关于mouseleave监听器,如果 hovered 保持打开状态或hoverer元素是 relatedTarget

var $hovered = $('#MeHover');
var $hoverer = $("<div class=over>I'm Over You</div>");

$("body").append($hoverer);

$hovered.add($hoverer).mouseenter(function() {
$hoverer.fadeIn();
}).mouseleave(function(e) {
if (e.relatedTarget != $hoverer[0] && e.relatedTarget != $hovered[0])
$hoverer.fadeOut();
});
.over {
display: none;
position: absolute;
top: 20px;
left: 0;
right: 0;
background: green
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="MeHover">
Hover Over Me
</div>

关于javascript - 悬停时保持 jQuery `Appended` 元素打开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46347019/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com