2016-10-21 37 views
1

我遵循http://leafletjs.com/examples/extending/extending-3-controls.html上的處理程序教程。小冊子 - 如何添加具有循環行爲的處理程序?

我可以做處理程序做事件(「鼠標懸停」,等等)的東西,但我沒有找到一種方法,做一些事情每100ms。我試圖使用setTimeout/setInterval,但我無法捕捉到'this',因爲窗口對象拋出事件。

我沒有發現的東西有關,在文檔中,也不在github上。小冊子中是否有這樣的機制?

有人可以幫助我嗎?

THX

+0

這將是有幫助的是顯示代碼您有 –

+0

[創建自己的事件]一個問題(http://leafletjs.com/reference-1.0.0.html#evented),並把它火每隔100毫秒;附加一個處理程序來處理它。 –

回答

1

,但我不能趕上「這個」,因爲窗口對象拋出事件。

記住bind() the function控制this將是什麼函數內部,如:

setInterval(function(){...}.bind(this), 100); 

或者,如果你喜歡做這the Leaflet way

setInterval(L.bind(function(){...}, this), 100); 
+0

非常感謝,它解決了我的問題! – Loh