我的jQuery出了问题。我已设法使用UI库打开一个对话框窗口。但是,我看到了错误:
TypeError:$(...)。dialog不是common-jquery.js函数:87
我认为这可能与我的代码的加载部分有关,但我不确定为什么会导致问题。
$(document).ready(function() {
// function for listening for clicks on apply buttons
$(document).on('click', '[name*="apply"]', function() {
var $the_dialog = $(this).create_new_dialog();
// open the dialog and load the page.
$the_dialog.dialog('open')
.load('test.py', function() {
$the_dialog.unbind('click');
//alert('Page has loaded');
$the_dialog.dialog('close');
});
return false;
});
});
jQuery.fn.extend({
create_new_dialog: function() {
var $the_dialog = $('<div></div>')
.dialog({
// dialog box options...
autoOpen: false,
closeOnEscape: false,
dialogClass: 'no-close',
draggable: false,
modal: true,
height: 500,
width: 500,
resizable: false,
buttons: [{
text: "Close",
click: function() {
$(this).dialog('close');
}
}]
});
return $the_dialog;
}
});
当我点击关闭按钮时,我收到错误。但是,如果我封装了 setTimeout 块内的close,则对话框窗口会消失,但我无法使用页面上其他任何javascript / jQuery。
我很感激你可以解决这个错误。
答案 0 :(得分:0)
请务必插入完整版的jQuery UI。您还应首先启动对话框:
$(function () {
$( "#dialog1" ).dialog({
autoOpen: false
});
$("#opener").click(function() {
$("#dialog1").dialog('open');
});
});