【发布时间】:2016-06-04 10:33:16
【问题描述】:
我尝试通过以下方式继承:
function inherits(ctor, base_ctor){
ctor.base = base_ctor;
ctor.prototype = Object.create(base_ctor.prototype, {
constructor: {
value: ctor,
enumerable: false,
writable: true,
configurable: true,
}
});
}
function MyClass(){
jQuery.fn.init.call(this,'<form>...</form>');
//...
}
inherits(MyClass, jQuery);
//...
var $my_obj = new MyClass()
当我尝试
$my_obj.find('#id')
再次调用MyClass的构造函数(通过函数jQuery.fn.pushStack())
如何避免递归?
或者如何从jQuery继承(而不是扩展)?
【问题讨论】:
-
为什么要继承自jQuery?应该没有必要这样做。如果您需要美元符号,请使用
jQuery.noConflict()。 -
看看here。但是我认为这是个坏主意。
标签: javascript jquery inheritance