2012-03-20 101 views
4

我有一個JQuery對話框設置與id如下。綁定對話框事件

在的document.ready

$('#modal-id').dialog({ autoOpen: false, ...... }) 

和HTML

<div id="modal-id"> 
<div class="modal-content"> 
..... 
</div> 
</div> 

現在我需要對話框打開綁定事件。

$("#modal-id").bind("dialogopen", function(event, ui) { 
.... 
}); 

上述作品,但下面不工作

$(".ui-dialog-content").bind("dialogopen", function(event, ui) { 
... 
}); 

任何建議都非常讚賞。

更新:

$(".ui-dialog").live("dialogopen", function(event, ui) { 
$.getScript("/common/js/jquery.curvycorners.min.js", function() { 
}); 
}); 
+1

爲什麼你需要將事件綁定到ui-dialog-content? – mgibsonbr 2012-03-20 03:10:00

+0

因此,它可以用於所有的對話框 – 2012-03-20 03:11:34

回答

6

首先,我不認爲你需要的類是.ui-dialog-content,但ui-dialog(我可能是錯了,雖然)。我的建議是(如果使用的是舊的jQuery或live)使用on方法:

$(document).on("dialogopen", ".ui-dialog", function(event, ui) { 
    ... 
}); 

jsFiddle工作的例子。

+0

好的答案,我不好意思,我試圖用綁定,但不活的UI對話!謝謝:) – 2012-03-21 16:21:49

+0

我現在有另一個問題,我在這個函數中插入了一個getScript,但它不工作。有任何想法嗎?請檢查更新的信息。 – 2012-03-21 18:41:50

+0

我從來沒有使用getScript,所以沒有多少我可以做的幫助。我建議用[這裏](http://api.jquery.com/jQuery.getScript/)所描述的簡單的'$ .ajax'調用,除了'success'外還使用'error'函數。如果問題出現在ajax調用中,它會顯示。 – mgibsonbr 2012-03-21 18:49:35