在嵌套元素之外检测鼠标dblclick?

时间:2011-02-09 19:25:22

标签: javascript jquery javascript-events

我在这里要做的是配置jquery有两个盒子。第一个框允许我隐藏第一个框并在单击时打开一个新框。单击元素外部的主体时,将删除新的(第二个)框。

我一直在玩不同的东西,包括退出/进入事件,但似乎找不到一种简单直接的方法来获得这种效果。

我已经设置了一个jsfiddle来演示我正在尝试做什么。

http://jsfiddle.net/wdAPu/2/

1 个答案:

答案 0 :(得分:2)

我认为你需要添加

event.stopPropagation();

绑定到#opener的事件处理程序。这可以防止事件冒泡并在#body中提升事件处理程序。

请参阅更新版本:http://jsfiddle.net/wdAPu/3/

参考event.stopPropagation

现在,如果双击里面的新框,这仍然会隐藏新框。要防止这种情况,您必须将事件处理程序绑定到它并防止事件冒泡。这可以使用快捷方式完成:

$('#content').dblclick(false);

(见这里:http://jsfiddle.net/wdAPu/6/


如果要动态创建框,请查看.delegate()event.stopImmediatePropagation()