2

jQueryUIダイアログに関数を追加したい。jQuery UI Dialogのソースコードを含む.jsファイルを実際にダウンロードして編集せずに、これを実行したいと思います。別の.jsファイルからこれを行うことは可能ですか?

さらに説明すると、「func1」などのカスタム関数を追加したいとします。コーディングした後、次のように呼び出すことができるはずです。

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

元のjQueryダイアログのソースコードを編集しなくてもそれは可能ですか?

4

2 に答える 2

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

于 2012-05-13T17:09:14.573 に答える
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...
        }
    };
}());​
于 2012-05-12T19:25:51.650 に答える