2010-10-18 45 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