1
我有一個用JavaScript創建的對象。比方說,它看起來像這樣:處理動態生成的JavaScript對象上的事件
function MyObject() {
this.secretIdea = "My Secret Idea!";
};
MyObject.prototype.load = function() {
this.MyButton = $(document.createElement("a"));
this.MyButton.addClass("CoolButtonClass");
this.MyButton.click = MyButton.onButtonClick;
someRandomHtmlObject.append(this.MyButton);
};
MyObject.prototype.onButtonClick = function(e) {
alert(this.secretIdea);
};
正如你所看到的,我在JavaScript中的對象設置,當它的加載,它創建了一個錨標記。這個錨點標籤作爲CSS中的背景圖片(所以它不是空的)。
現在,我明白'this'語句,當按鈕實際上被點擊時,將落入MyButton元素的範圍而不是我創建的對象。我試過使用call(),try()和bind(),我無法得到這個工作。我需要它,這樣,當按鈕被點擊時,它會回到對象的作用域而不是html元素的作用域。
我在這裏錯過了什麼?
哦,我明白了。這完美的作品! 太棒了,謝謝! – Kris 2010-06-18 18:45:48