我在这里尝试做的是将 jQuery 配置为有两个框。第一个框允许我隐藏第一个框并在单击时打开一个新框。单击元素外部的主体时将删除新的(第二个)框。
我一直在尝试不同的东西,包括退出/进入事件,但似乎找不到一种简单直接的方法来获得这种效果。
我已经设置了一个 jsfiddle 来演示我正在尝试做的事情。
最佳答案
我认为你需要添加
event.stopPropagation();
绑定(bind)到#opener
的事件处理程序。这可以防止事件冒泡并引发 #body
中的事件处理程序。
查看更新版本:http://jsfiddle.net/wdAPu/3/
现在,如果您在新框内双击,仍然会隐藏新框。为了防止这种情况,您必须将事件处理程序绑定(bind)到它并防止事件冒泡。这可以通过快捷方式完成:
$('#content').dblclick(false);
(参见此处:http://jsfiddle.net/wdAPu/6/)
<小时/>如果您要动态创建框,请查看 .delegate()
和 event.stopImmediatePropagation()
.
关于javascript - 检测嵌套元素外部的鼠标双击?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4949480/