2011-02-09 48 views
0

我想在这里做的是配置jQuery有两个框。第一个框允许我隐藏第一个框并在点击时打开一个新框。单击元素外部的主体时,将删除新的(第二个)框。检测嵌套元素外的鼠标dblckick?

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

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

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

回答

2

我认为你需要

event.stopPropagation(); 

增加势必#opener事件处理程序。这可以防止事件冒泡并引发#body中的事件处理程序。

查看更新版本:http://jsfiddle.net/wdAPu/3/

参考event.stopPropagation

现在,这仍然会隐藏,如果你双击新箱新箱。为了防止发生这种情况,您必须将事件处理程序绑定到它并防止事件冒泡。这可以通过快捷键来完成:

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

(在这里看到:http://jsfiddle.net/wdAPu/6/


如果您是动态创建的箱子,看看.delegate()event.stopImmediatePropagation()

+0

这解决了触发事件的第一个问题,但第二个问题是#content内的dblclick将触发绑定到#body的事件。 – Incognito 2011-02-09 19:40:03