下面是我使用的代碼:jQuery UI的對話框不會重開後接近
jQuery(document).ready(function($) {
$('.addNew').click(function(event) {
event.preventDefault();
openEditor(event);
}); /* END ADD CLICK */
$('.editLink').click(function(event) {
event.preventDefault();
openEditor(event);
}); /* END EDIT CLICK */
/* DEFINE THE EDITOR OPEN LATER */
$('.viewer').dialog({
fullscreen: true,
show: "pulsate",
width: $(window).width()-20,
height: $(window).height(),
autoOpen: false
}); /* END OPEN EDITOR */
}); /* END DOCUMENT READY */
function openEditor(event) {
jQuery(document).ready(function($) {
$('.viewer').load(window.location.pathname + 'edit.php');
var x =event.pageX - ($(document).scrollLeft() - 100);
var y =event.pageY -$(document).scrollTop();
$('.viewer').dialog('open');
}); /* END DOCUMENT READY */
} /* END OPENEDITOR FUNCTION */
對話框打開就好了第一次,但如果我通過點擊關閉按鈕關閉對話框或擊中逃生它不會打開第二次。這是我得到的控制檯錯誤消息:
TypeError: $(...).dialog is not a function
[Break On This Error]
$('.viewer').dialog('open');
我本來沒有使用的AutoOpen:假的,我認爲是問題,但是當我切換到做這種方式它仍然給了相同錯誤。
任何想法?
UPDATE:
我一直在周圍挖一些,它似乎在$引起的(「觀衆‘)負載(’文件名」);線。出於某種原因,只允許觀衆打開一次。
是你動態生成的按鈕嗎? – bipen 2013-02-13 05:49:14
不,但查看器中的內容是通過Ajax調用加載的,我認爲這可能會導致問題。這幾乎就像ajax加載頁面中的jQuery干擾其他內容。 – Talon 2013-02-13 06:07:20