在 JavaScript 中的回调函数中引用对象
referring to the object in a callback function in javascript
我的指令是:
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 文章提供了一个您可能也想要使用的填充代码。
相关文章:
- 引用对象中的通用值
- 使用连字符引用对象的属性名称
- 这在 Object 方法中不引用对象,而是引用函数绑定到的标记
- Javascript对象文字,如何使用“this”来引用对象中的变量
- AngularJS select with ng选项不更新父作用域中的引用对象属性
- 如何在ES6中使用Arrow函数引用对象内部的其他函数
- 调用时可以省略引用对象
- 从函数中引用对象时遇到问题 - Adobe Animate canvas
- 在挖空中引用对象构造函数外部视图模型的属性
- 在 JavaScript 中的回调函数中引用对象
- 从充当事件处理程序的多个方法引用对象属性
- 如何引用对象中的其他节点
- 使用 javascript 通过 ID 正确引用对象
- 使用等效的 Object.indexOf 引用对象中的对象的索引
- Javascript - 事件方法中的引用对象
- 如何避免“this”引用 DOM 元素,并引用对象
- 如何按索引引用对象属性
- 在 AngularJs 中引用对象中的数据
- 如何在没有元素的情况下获取文件引用对象
- 为什么在 JavaScript 中引用对象的不存在属性不会返回引用错误