1
我有一個這樣的對象:JQuery的可放開()不承認「此」對象引用
function ImageHolder(Attributes, Parent)
{
this.Id = Attributes['Id'];
this.Parent = Parent;
this.Element = $('<div/>');
this.msg = "hello world";
this.Parent.append(this.Element);
this.handleDrop = function(e, ui)
{
alert(this.msg);
};
this.Element.droppable({drop: this.handleDrop});
}
然後我創建這樣一個對象:
holder = new ImageHolder(A,B);
但是當我嘗試和降東西到元素,我得到這個錯誤:
this.msg is undefined
我在這裏做錯了什麼?
感謝,這個工作。但爲什麼這樣呢? – unni 2012-04-12 10:10:52
handleDrop函數內的'this'指的是handleDrop函數本身,而不是它的外部對象。另外,'thisCopy'(你可以任意命名)是一個淺拷貝,所以它不會與同一頁面上的其他對象發生衝突,並且會同時更新真正的'this'。所以你可以在你的對象的任何地方使用'thisCopy'。 – PaulMrG 2012-04-12 10:15:56