我有一个对象。它初始化一个按钮以提醒“你好!”当它被点击时。为什么这不工作?jQuery使用对象的方法作为事件处理程序
的jsfiddle:http://jsfiddle.net/kUT52/1/
HTML
<button>Test</button>
JS
var MyObject = {
testValue: "Hello!",
testFunction: function() {
alert(this.testValue);
},
init: function(button) {
button.click(this.testFunction());
}
}
$(document).ready(function(){
var buttonInstance = new MyObject();
var button = $('button');
buttonInstance.init(button);
});
您的代码是没有意义的!你不能像这样初始化一个新的对象字面值。如果你想使用'new'并把它看作“构造函数”,你必须使'MyObject'成为一个函数。否则,'MyObject'是一个对象字面值,你可以静态地访问它 - 'MyObject.testValue' – Ian
头脑风暴@Ian。这使得js对象更有意义,谢谢。 –