2010-10-18 85 views
0

我想在用户单击包含我的应用程序的DOM对象时显示对话框。选择DOM对象的父项,并排除所选父项的子项

我在想,我只是把所有父母的一次点击事件,然后触发对话。

因为包含了我得到父对象的DOM对象,所以即使点击了它自己的对象,它也会触发对话。

本质上,我想在父母中打个洞来排除用户正在与之交互的DOM。

我在想mouseleave,然后点击任何其他dom对象会工作。

有什么建议吗?

回答

1
$("#container").click(funcion(e) { 
    if (this !== e.target) { return; } 
    // the user clicked the parent directly (not one of its children) 
}); 

说明:您检查事件目标是否等于#container元素。如果不是这样,那意味着点击事件从#容器的其中一个子元素中冒出来,并且您通过返回来终止该事件。如果是的话,你做你想做的。

你可以在我的网站(w3viewer.com)上查看它是如何工作的。点击左下角的“关于”链接。一个盒子会弹出。要关闭此框,您必须点击它。

+0

哦,那人真棒。非常感谢! – 2010-10-20 17:35:06