选择DOM对象的父项,并排除所选父项的子项

时间:2010-10-18 23:27:11

标签: jquery dom traversal

当用户点击保存我应用的DOM对象时,我想显示一个对话框。

我在想,我只是在所有家长身上点击一次,然后触发对话。

因为包含了我正在获取父级的DOM对象,所以即使单击了它自己的对象,它也会触发对话。

实际上,我希望在父母身上打一个洞,以排除用户正在与之交互的DOM。

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

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

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

说明:检查事件目标是否等于#container元素。如果没有,这意味着点击事件从#container的一个子节点冒出来,你只需通过返回来终止事件。如果是的话,你就按照自己的意愿行事。

您可以在我的网站(w3viewer.com)上查看其工作原理。单击左下角的“关于”链接。弹出一个方框。要关闭该框,您必须在其外部单击。