作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我尝试根据 documentation 扩展 UI 对话框(用户界面版本 1.8.16):
(function($) {
$.widget('ui.mydialog', $.extend(true, $.ui.dialog.prototype, {
_create: function() {
return $.Widget.prototype._create.apply(this, arguments);
}
}));
})(jQuery);
$(function() {
$('div#dialog').mydialog();
});
执行此代码会导致 JS 错误:“this.uiDialog is undefined”。
如果尝试覆盖 _init() 方法没有错误,但父方法调用无效。
我很困惑.. 哪种扩展方式是合法的,例如放置一些自定义初始化代码?
最佳答案
我认为这篇文章可以解决您的问题:Inherit from jQuery UI dialog and call overridden method .
简而言之,如果你想构建一个继承jQuery UI Dialog的widget,你可以这样做:
(function($) {
$.widget("ui.mydialog", $.ui.dialog, {
_create: function() {
$.ui.dialog.prototype._create.call(this);
}
});
})(jQuery);
实际操作:http://jsfiddle.net/william/RELxP/ .
本教程将为您启迪:http://wiki.jqueryui.com/w/page/12138135/Widget%20factory .简而言之,$.Widget
是基础小部件对象。尽管它有一个 _create
函数,但默认情况下它什么都不做,将初始化代码留给子类。看看这个更新的例子:http://jsfiddle.net/william/RELxP/1 .
关于javascript - 通过重新定义父方法在 Jquery UI 中扩展小部件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7450791/
我正在实现谱聚类算法,我必须确保矩阵(拉普拉斯矩阵)是半正定矩阵。 检查矩阵是否为正定矩阵 (PD) 就足够了,因为可以在特征值中看到“半”部分。矩阵非常大(nxn,其中 n 是几千的数量级)所以特征
我是一名优秀的程序员,十分优秀!