Tôi có một lớp (hoặc đối tượng chứa hàm; tôi đã nghe nói rằng không có lớp nào như lớp Javascript) được gọi là Foo, với trình xử lý sự kiện được đính kèm cho sự kiện nhấp chuột. Khi xử lý sự kiện được gọi, tôi muốn sửa đổi một thuộc tính của lớp Foo của tôi. Thông thường, tôi sẽ sử dụng từ khóa this
, nhưng trong trình xử lý sự kiện, tham chiếu this
được đặt thành tham chiếu đến phần tử html. Đây là mã của tôi:Javascript lấy tham chiếu đến đối tượng/lớp cha từ trình xử lý sự kiện
function Foo() {
this.num=0;
$('element').click(this.eventHandler);// jQuery to attach an onclick event to my element.
this.eventHandler=function() {
this.num++;// This doesn't work.
// Normally, "this" would refer to my instance of Foo,
// but as an event handler, "this" refers to the html element.
}
}
Vì vậy, câu hỏi của tôi là: làm thế nào để tôi nhận được một tài liệu tham khảo để dụ của tôi về Foo vào xử lý sự kiện của tôi để tôi có thể sửa đổi thuộc tính của nó (như num
)?
Giải pháp này có thể gây ra rò rỉ bộ nhớ nếu đối tượng cần được giải phóng không? –