例如我通过newDialog("This is title !", "this is my content");称呼它

function newDialog(mytitle, mycontent){
   var $dialog = $('<div id="mydialog"></div>')
        .html(mycontent)
        .dialog({
            autoOpen: false,
            modal: false,
            title: mytitle
        });
    $dialog.dialog('open');
    return false
}


这是错误

错误:$(“”)。html(mycontent).dialog不是函数

这是什么意思 ?我已确保使用firebug插件完全加载了所有jquery-UI和jquery js文件,以确认所有这些。

我不明白为什么它会突然停止工作。

我已经尝试过$(document).click(newDialog);和$('body')。delegate(':not(#mydialog *,#mydialog)','click',newDialog);但是错误不会消失。使用后者,因此如果意外单击对话框,则不会生成新对话框。

$(top.document).ready(function () {
var fruits = new Array();

   $(document).click(newDialog("happy title", "happy content to keep everyone happy"));
   //$('body').delegate(':not(#mydialog *, #mydialog)','click', newDialog);

});

最佳答案

检查dialog插件是否已正确安装。应该没有任何其他原因不起作用。

请允许我借此机会进行一些无耻的自我推广,为您提供另一种选择。我写了一个jQuery插件,可以完成您想做的事情。如果您有兴趣,它是开源的:http://code.google.com/p/dialogwrapper/

09-18 03:02