0
我在寫一個簡短的類(第一次使用Javascript中的類)來處理我的網站的菜單圖標。這個菜單圖標需要能夠在同一頁面上多次實例化。JavaScript類可訪問性變量範圍問題
我使用滾動事件發射功能,這似乎沒有影響到正確的類實例時,有一個問題,這是我的僞代碼:
var DynMenu = function(Name) {
this.Name = Name;
this.scrollHandler = function() {
alert("Scroll: "+this.Name);
};
DynMenu.prototype.Pause = function() {
alert("Pausing menu: "+this.Name);
$(window).off("scroll", this.scrollHandler);
};
DynMenu.prototype.Start = function() {
alert("Starting menu: "+this.Name);
$(window).scroll(this.scrollHandler);
};
}
此代碼調用,並且具有以下使用:
var RevendMenu = new DynMenu("MenuIcon1");
RevendMenu.Start();
RevendMenu.Pause();
當滾動頁面(調用RevendMenu.Start()之後,但在調用RevendMenu.Pause()之前),我得到的消息 「滾動:未定義」
五月你告訴我爲什麼我沒有得到這個名字的價值,我該如何解決這個問題?
感謝在瀏覽器中的很多 問候 弗洛朗
非常感謝Slebetman很多爲您的幫助和鏈接,這是非常有趣 – ehretf
我確認這是工作偉大的檢索我的對象變量,但關閉不工作了,我不明白爲什麼到目前爲止,任何想法? – ehretf
@ehretf:我不太用jQuery,所以你必須閱讀'.off()'方法的文檔。至於爲什麼'this'之前沒有工作的原因,請查看我在答案底部引用的鏈接。 – slebetman