I have defined a class in JavaScript with a single method:
function MyClass(text) {
this.text = text;
}
MyClass.prototype.showText = function() {
al
That's an expected behaviour, try:
function MyClass(text) {
var self = this;
this.text = text;
$('#myButton').click(function () {
self.button_click();
});
}
or in newer browsers (using bind):
function MyClass(text) {
this.text = text;
$('#myButton').click(this.button_click.bind(this));
}
or using jquery proxy:
function MyClass(text) {
this.text = text;
$('#myButton').click($.proxy(this.button_click, this));
}
further reading: