我创建了两个插件(A和B),其中插件B依赖于插件A。
在插件A中,我使用jQuery用户界面对话框进行用户交互,这很好。
依赖性:插件A是一个文件浏览器。单击按钮将打开一个对话框窗口,用户可以在该窗口中选择与wordpress post相关的文件。插件A加载使用对话框所需的所有JS。
现在,我尝试在插件B中使用Dialog框,得到一个错误:
(this.uiDialogTitlebarCloseText = c("<span/>")).addClass("ui-icon ui-icon-closethick").text(m.closeText).appendTo is not a function插件B
我正在用非常简单的代码进行测试:
// Javascript code from custom_plugin.js
jQuery(document).ready(function() {
jQuery('#dialog').dialog();
});
// Code from my custom_plugin.php
<div class="icon32" id="icon-tools"><br></div>
<h2>Gallery manager</h2>
<div id="poststuff" class="metabox-holder">
<div id="post-body">
<div id="post-body-content">
<div id="dialog" title="File browser"> This is a dialog.</div>
</div>
</div>
</div>我不知道我为什么会犯这个错误。对我如何解决这个问题有什么建议吗?
插件A
这是插件A中使用的codeI。我在没有与插件A.The脚本交互的情况下得到了上面的错误,因为插件A只是正常加载。
jQuery("#fileBrowser").dialog({
title: "File browser",
modal: true,
autoOpen: false,
height: 700,
width: 800,
open: function() {
jQuery("#fileBrowser").load("../wp-content/plugins/wp-filebrowser/fileBrowser.php", function() {
// Clear input / feedback text when entering new folder name
jQuery('#newDirDialog input[type=text]').focus(function() {
jQuery(this).val('');
jQuery('.newDirFedback').fadeOut(function(){ jQuery(this).empty(); });
});
// Initialize create new dir dialog window
jQuery("#newDirDialog").dialog({
autoOpen: false, modal: true, title: "New dir"
});
});
}
}
);
//Open dialog box on click from WP admin
jQuery('.addImage').click(function() {
imageUrlInputBox = jQuery(this).siblings(":text");
imagePreviewLink = jQuery(this).siblings("a");
jQuery("#fileBrowser").dialog("open");
});发布于 2010-10-17 16:18:18
我敢打赌问题是m.closeText是undefined。如果是这样的话,.text()函数可能会认为您希望它返回jQuery对象的文本内容,而不是设置它。
编辑--这仍然是我的猜测,为什么jQuery UI对话框中的代码会阻塞,但是这种情况是如何发生的,对我来说完全是个谜。
https://stackoverflow.com/questions/3953658
复制相似问题