将对象传递给jQuery方法

时间:2013-03-13 01:54:36

标签: javascript jquery oop

function unit(){
    this.html=$('<div></div>');
    this.html.click(this,function(e){
        e.data.move(e.data.x,e.data.y);
    });
}

$('#factory').click(function(){
    unit();
}

我正在尝试在Javascript中学习OOP。这是我为练习制作的战争游戏中的一个单元的“类”。每次单击工厂时,都会创建一个新单元。但是,当我点击一个旧单位移动它时,最新的单位总是移动的单位。所以基本上,e.data总是对应于最新的单位,而不是被点击的单位。如何使e.data始终对应于单击的单位?

1 个答案:

答案 0 :(得分:2)

如果您不使用this来调用window,则

newunit();的引用。现在的样子,每次点击都会覆盖window.html

要创建新对象并使this引用该对象,请执行以下操作:

new unit();