gpt4 book ai didi

jquery - 捕获元素外部的鼠标单击事件

转载 作者:行者123 更新时间:2023-12-01 08:26:10 26 4
gpt4 key购买 nike

这就是我正在做的事情。

单击链接后,我正在显示一个框CSS

#toshow { display:none; }

HTML

<a href="#" id="mylink" >Link</a>
<div id="toshow">Here is my content</div>

Jquery

$(document).ready(function() {
$("#mylink").click(function() {
$("#toshow").show();
});
});

现在我想捕获一个事件,用户单击鼠标,如果用户单击的部分不是链接或分区,则分区应该再次隐藏。

如何做到这一点?

最佳答案

$(document.body).click(function(e){
var $box = $('#mylink');
if(e.target.id !== 'mylink' && !$.contains($box[0], e.target))
$("#toshow").hide();
});

您需要检查冒泡到 document.body 的点击事件。在该事件处理程序中,您查找事件目标 ID 并将其与您想要包含的元素以及作为该排除元素的子元素的所有元素进行比较。

@Starx:(评论中的问题)$.contains() 检查 DOM 节点 是否包含您指定的另一个节点。所以

!$.contains($box[0], e.target)

表示,如果 e.target 不包含节点 $box[0]
请参阅http://api.jquery.com/jQuery.contains/

关于jquery - 捕获元素外部的鼠标单击事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3656472/

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