2012-02-23 70 views
0

我創建了jQuery UI Dialog,並且在顯示對話框後,無論用戶單擊哪個位置,對話框都會關閉。我通過向body標籤添加click事件來實現這一點。如何觸發(可能)重寫事件?

$("body").click(function() { 
    $("#myDialog").dialog("close").dialog("destroy"); 
}); 

它工作正常,除了內3rd party Grid API我使用,發現該網API源代碼,它定義onclick事件象下面這樣:

this.obj.onclick = function(e){ 
    console.log("grid API clicked"); 
    this.grid._doClick(e||window.event); 

    if (this.grid._sclE) { 
     this.grid.editCell(e||window.event); 
    } 

    (e||event).cancelBubble=true; 
}; 

當我點擊網格,裏面的日誌消息「電網API點擊」我的螢火顯示,但不會被觸發我的身體click事件,所以我覺得作爲線(e||event).cancelBubble=true;

規定如果我設置爲false事件不冒泡的身體click事件,點綴網格中的k不起作用,並且不希望更改第三方API中的代碼。

那麼,它有任何解決方法,使身體點擊工作?

回答

0

也許過於簡單,不這樣做的最佳方式,但如果你快樂進行編輯,然後網格API源將其添加到它...

$("body").click(); 

這將觸發定義上的click事件身體元素。如果這不起作用,那麼還有其他事情正在發生。

+0

我同意這是一種方式..所以據我所知沒有辦法實現我的目標,而無需修改網格API .. – 2012-02-27 00:51:19