Bad*_*sie 4 jquery jquery-ui jquery-ui-dialog
我在jQuery UI中无法掌握OOP,关于我习惯的经典OOP.
据我所知,我创建了一个名为'modal'的新插件(widget),它扩展了UI对话框小部件.现在我如何覆盖对话框的close()方法,还调用原始方法,以便我不会失去其功能?
$.widget('ui.modal', $.ui.dialog, {
close: function() {
// How do I do something to the current modal DOM object?
// Is this correct?
$(this).addClass('test');
// Then call the parent close() method to keep all original
// functionality of dialog.close()
// ???
}
});
$.extend($.ui.modal);
Run Code Online (Sandbox Code Playgroud)
当你有一个可以挂钩的关闭事件时,为什么要用新的关闭函数覆盖$ .ui.dialog?查看以下链接中的"事件"选项卡:
http://jqueryui.com/demos/dialog/#modal
页面中的代码示例:
提供一个回调函数来处理close事件作为init选项.
$( ".selector" ).dialog({
close: function(event, ui) { ... }
});
Run Code Online (Sandbox Code Playgroud)
通过类型绑定到close事件:dialogclose.
$( ".selector" ).bind( "dialogclose", function(event, ui) {
...
});
Run Code Online (Sandbox Code Playgroud)
编辑
回答这个问题:
(function($){
var dialogExtensions ={
oldClose: $.ui.dialog.prototype.close,
close: function(event){
this.oldClose(event);
// custom code
}
};
$.extend($.ui.dialog.prototype, dialogExtensions);
})(jQuery);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7025 次 |
| 最近记录: |