覆盖框架方法

时间:2015-01-09 01:33:35

标签: javascript jquery override prototype

我见过很多关于如何覆盖jQuery核心功能的例子,例如:

jQuery.fn.remove = function(){};


我试图覆盖我正在使用的jqWidgets框架中的一个方法,它建立在jQuery之上。我关注的方法是 jqxWindow 对象的 close 方法。


对象初始化:

$("#myWindowDiv").jqxWindow({ settingsVar });


方法调用:

$("#myWindowDiv").jqxWindow('close');


框架初始化:(源代码)

    var jqxBaseFramework = window.minQuery || window.jQuery;
    (function(a) {
        a.jqx = a.jqx || {};
        ...
        ...
        ...
    })(jqxBaseFramework);


Window Object Init:(源代码)

    (function(a) {
       a.jqx.jqxWidget("jqxWindow", "", {});
       a.extend(a.jqx._jqxWindow.prototype, {
           defineInstance: function() {},
           ...
           ...
           ...
           close: function(){
               //FUNCTION I WANT TO OVERRIDE
           },
           ...
           ...
           ...
   })(jqxBaseFramework);

有人能指出我正确的方向吗?这可以轻松实现吗?

1 个答案:

答案 0 :(得分:2)

应该是

jqxBaseFramework.jqx._jqxWindow.prototype.close = function() {};