私の指示は次のとおりです。
map.canvas.addEventListener("mousemove", mapOnMouseMove, false);
function mapOnMouseMove (e) {
// here : this refers to the canvas of the map object
// i want to refer to the map (is there a way ?)
}
私の指示は次のとおりです。
map.canvas.addEventListener("mousemove", mapOnMouseMove, false);
function mapOnMouseMove (e) {
// here : this refers to the canvas of the map object
// i want to refer to the map (is there a way ?)
}
this
次のように参照するmap
ようにトリックできます。
map.canvas.addEventListener("mousemove", canvasOnMouseMove, false);
function canvasOnMouseMove (e) {
mapOnMouseMove.call(map, e);
}
function mapOnMouseMove (e) {
// here : this refers to the map object
}
bind
バインドされた関数を作成するために使用できます(の値this
はmap
オブジェクトです):
map.canvas.addEventListener("mousemove", mapOnMouseMove.bind(map), false);
ただしbind
、ES5 メソッドであるため、古いブラウザーではサポートされていないことに注意してください。上記にリンクされている MDN の記事は、おそらく同様に使用したいと思うポリフィルを提供します。