目前正在使用OLOO風格的方法在一個小項目上工作。 Problem found here刪除事件偵聽器在一個對象字面值丟失此引用
所以我面臨的問題是我有一個事件處理程序。
eventHandler: function() { console.log('Hit'); testSelector.removeEventListener('click', this.eventHandler, false); }
現在發生的事情是,我想這是第一次點擊之後被去除。但是,這似乎並沒有像我期望的那樣工作。我將這個引用的對象綁定在一起,但似乎有什麼東西我在這裏實際發生的事情中缺少。任何人都可以澄清實際發生的事情或我出錯的地方嗎?
太棒了。正是我在尋找的答案。 稍微編輯您的答案以將this.ref綁定到實際屬性。同時也刪除了self = this,因爲綁定會爲你處理。 https://jsbin.com/kufepeyitu/2/edit?js,console,output – factordog
如果你必須去testSelector.addEventListener('click',this),你是否看到任何必須將其分配給另一個屬性的原因.eventHandler.bind(this),false); ?作爲調試,它沒有記錄它引用節點,但外部對象,這是讓我困惑。 – factordog
使用綁定你有它指向'對象',但除非你得到綁定函數的引用你失去它,然後你不能在'removeEventListener'中引用它;希望它是有道理的。 – maioman