所以 - jQuery UI库。有一个对话框组件。此组件还有一个“标题”选项。我如何覆盖jQuery的默认功能,以便每当我为对话框设置新标题时 - 它会在它前面添加“xxx”?
答案 0 :(得分:1)
我会编写一个帮助方法来设置标题并调用它:
function setTitleWithPrefix(selector, title) {
$(selector).dialog('option', 'title', 'xxx' + title);
}
您甚至可以将其创建为jQuery插件:
$.fn.dialogTitleWithPrefix = function(title) {
this.each(function() {
$(this).dialog('option', 'title', 'xxx' + title);
});
};
可以称为:
$('.myDialog').dialogTitleWithPrefix('New Title');
两种方法的工作示例 - http://jsfiddle.net/kReA5/1/
或者,如果您想扩展对话框小部件本身,请查看此问题的答案(How to extend an existing jQuery UI widget?)。
答案 1 :(得分:0)
您可以覆盖jQuery.dialog
方法
var oldDialog = jQuery.fn.dialog;
jQuery.fn.dialog = function(title, options, otherStuff) {
title = 'xxx' + title;
return this.oldDialog(title, options, otherStuff);
});
但是,我不知道您使用此方法的其他选项。如果您为问题提供一些代码,我会更新我的答案。
答案 2 :(得分:0)
这将呈现你的对话:
<div id="dialog" title="Your title">
<p>This is the default dialog which is useful for displaying information. The dialog window can be moved, resized and closed with the 'x' icon.</p>
</div>
它将使用所选标题呈现它,但是如果您现在还希望将xxx添加到标题,则需要在该div之后更改title属性值。
为此,请使用以下脚本:
<script>
var title = $("#dialog").getAttribute("title"); // This will return "YOUR TITLE"
// Now we change the title to xxx YOUR TITLE
$("#dialog").attr("title", "XXX" + title);
</script>