将click事件绑定到类中的方法

在我的对象的构造函数中,我创建了一些span标记,我需要将它们引用到同一对象的方法中。

以下是我的代码示例:

$(document).ready(function(){ var slider = new myObject("name"); }); function myObject(data){ this.name = data; //Add a span tag, and the onclick must refer to the object's method $("body").append("Test"); $("span").click(function(){ myMethod(); //I want to exec the method of the current object }); this.myMethod = myMethod; function myMethod(){ alert(this.name); //This show undefined } } 

使用此代码调用该方法,但它不是对象的引用(this.name show undefined)我该如何解决?

非常感谢!

实现这一目标的一种简单方法:

 function myObject(data){ this.name = data; // Store a reference to your object var that = this; $("body").append("Test"); $("span").click(function(){ that.myMethod(); // Execute in the context of your object }); this.myMethod = function(){ alert(this.name); } } 

另一种方法,使用$.proxy

 function myObject(data){ this.name = data; $("body").append("Test"); $("span").click($.proxy(this.myMethod, this)); this.myMethod = function(){ alert(this.name); } }