在一個原型方法我有這樣的代碼:如何將變量傳遞給事件中的構造函數方法?
DragDrop.prototype.startDrag = function() {
// ... other code
this.mouseMove = this.drag.bind(this);
...
的.bind只是所以我可以指從我請(this.drag)的功能的對象。
(事件不能是匿名函數,因爲我需要後來不然我會永遠被拖動刪除...)
...
window.addEventListener('mousemove', this.mouseMove, false);
}
然後這是我使用上述功能。這在Safari和Chrome中都可以正常工作,但在Firefox中未定義。
這是如何解決的?
作爲一個方面說明,我是新來的構造函數,並希望知道是否有另一種方法來做到這一點/沒有綁定。在理想的世界中,我想將更多的變量傳遞給.drag函數。
你是什麼意思「*我想將更多的變量傳遞給.drag函數。*」你不應該只使用實例屬性嗎? – Bergi
爲所有事情使用實例屬性是否更好?我只是想能夠返回函數中的值來減少這些:http://imgur.com/8ShLB4S。 是否可以將參數傳遞給綁定(綁定?!)函數? –
對編碼實例狀態的所有內容使用實例屬性。沒有很多變數,但我不確定你所指的是什麼。你可以更具體一點*你想傳遞什麼*變量?不,事件處理程序不能有返回值。 – Bergi