xx77aBs
xx77aBs

Reputation: 4768

Is it possible to add function to jQuery's dialog from separate .js file?

I want to add a function to jQuery UI Dialog. I want to do that without actually downloading .js file with jQuery UI Dialog source code and editing it. Is it possible to do this from separate .js file?

Some further explanation: let's say I want to add custom function that's called e.g. "func1". After I've coded it, I should be able to call it like this:

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

Is that possible without editing original jQuery Dialog source code?

Upvotes: 2

Views: 928

Answers (2)

xx77aBs
xx77aBs

Reputation: 4768

Ok, I've finally found the answer :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); 

I have figured it out from this post :

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

Upvotes: 2

gdoron
gdoron

Reputation: 150253

I have not tested, but I think it should work:

$.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...
        }
    };
}());​

Upvotes: 0

Related Questions