我正在尝试在 Javascript 中使用原型继承。我下面的代码的问题是,当单击并MyNamespace.MyObj.myEventHandler
调用按钮时, 的值this
不是 的实例MyNamespace.MyObj
,而是被单击的按钮。
我的结构错了吗(有没有更好的方法)?我可以以某种方式确保这this
是对象的实例而不是调用者按钮吗?
var MyNamespace.MyObj = function(myform) {
this.myform = myform;
jQuery('.mybutton', this.myform).click(this.myEventHandler);
};
MyNamespace.MyObj.prototype = {
myEventHandler: function() {
this.myform.get(0).submit();
}
};
jQuery(document).ready(function() {
new MyNamespace.MyObj(jQuery('#myform'));
});
这只是我用来学习原型继承的一个非常愚蠢的例子。我意识到上述代码的实际功能可以简单地在 jQuery 中完成,或者我可以使用对象文字或模块模式——但我真的只是对学习原型继承感兴趣,而不是此时实现特定功能.