jQuery UI文档提供example of extending an existing UI widget method,如下所示:
$.widget("ui.dialog", $.ui.dialog,
{
open: function()
{
console.log("open");
return this._super();
}
});
使用UI 1.12.1对我有用,我在打开对话框时看到了预期的日志条目。
但是,使用相同的技术重新创建jQuery UI Tabs的删除.url()方法不会,抛出错误“Uncaught TypeError:$(...)。url不是函数”。这是我的代码:
$.widget("ui.tabs", $.ui.tabs,
{
url: function (index, url)
{
console.log("url");
$(this.data("uiTabs").anchors[index]).attr("href", url);
return this;
}
});
除了url()方法是创建而不是扩展的事实之外,这里有什么区别?是否有可能做我正在尝试的事情?
答案 0 :(得分:0)
但是我可能不确定日志之后的那条线,即.data()
方法在这里似乎无效?
也许你的意思是:
$.widget("ui.tabs", $.ui.tabs, {
url: function(index, url) {
$(this.anchors[index]).attr("href", url);
}
});