我正在使用jQuery的UI对话框,我想添加一个自定义方法.
基本上当我的对话框有一个"工作"类时,它有一个加载覆盖.我正在尝试编写一些全局应用程序jQuery,以便在任何对话框关闭时,它会删除类"工作".
我不确定我在做什么,但这是我到目前为止所做的:
(function ($) {
// BIND TO DIALOG CLOSE EVENT
$('.ui-dialog').live('dialogclose', function() {
$(this).dialog('cancelWorking');
});
// CUSTOM METHOD
$.fn.dialog.cancelWorking = function() {
$(this).removeClass('working');
};
}(jQuery));
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,我不确定如何调用cancelWorking对话框的方法,而且我不确定我是否已经正确地定义了该方法.
正如我的评论中提到的,您可以从插件继承并扩展其方法.
(function($,undefined) {
$.widget('ui.mydialog', $.ui.dialog,{
test : function() { alert('works') },
});
$.extend($.ui.mydialog,{version:'v0.1'});
})(jQuery);
Run Code Online (Sandbox Code Playgroud)
简单地使用它:
$('.selector').mydialog({modal:true}); //Create (same as a dialog)
$('.selector').mydialog('test'); //Call extended method
Run Code Online (Sandbox Code Playgroud)
此模式允许您添加其他输入选项,方法,事件等,以及重载或扩展父插件中提供的功能.
还应该提到这很好,因为您仍然可以使用常规插件而无需在UI中的其他位置进行任何修改.
| 归档时间: |
|
| 查看次数: |
4953 次 |
| 最近记录: |