是否可以从单独的.js文件向jQuery的对话框添加函数?

时间:2012-05-12 19:16:48

标签: javascript jquery jquery-ui

我想在jQuery UI Dialog中添加一个函数。我想这样做而不用jQuery UI Dialog源代码实际下载.js文件并进行编辑。是否可以从单独的.js文件中执行此操作?

进一步说明:假设我要添加自定义函数,例如“FUNC1”。在我编码之后,我应该可以这样称呼它:

($"#dialog").dialog("func1");

如果不编辑原始的jQuery Dialog源代码,是否可以?

2 个答案:

答案 0 :(得分:2)

好的,我终于找到了答案:D

(function($){
    var _init = $.ui.dialog.prototype._init;

    //Init
    $.ui.dialog.prototype._init = function() {
        var self = this;
                _init.apply(this, arguments);

              //here you can do custom init
    };

    //Custom Dialog Functions
    $.extend($.ui.dialog.prototype, {
        func1: function() {
                        alert("f1");
        },
        func2: function() { 
            alert("function 2");
        }
    });
})(jQuery); 

我已经从这篇文章中找到了它:

http://www.droptoframe.com/?p=35

答案 1 :(得分:0)

我没有测试过,但我认为它应该可行:

$.fn.dialog = (function() {
    var cached_function = $.fn.dialog;

    return function() {

        if (arguments[0] !== "func1") 
            cached_function.apply(this, arguments);
        else {
            // Do what you want here...
        }
    };
}());​