我有一个JavaScript对象,我希望能够处理一些交互功能。以简单的方式描述场景有点棘手,所以希望它不会在这里一发不可收拾。混淆,这个指针和JavaScript中的事件
我物体看起来像
myobject = function() {
this.initialize = function() {
// HERE this = the myobject instance
var test = document.createElement('div');
test.onmousedown = this.mousedown;
}
this.mousedown = function(e) {
// HERE this = the calling div-element
}
}
所以我的问题基本上是this
不会成为一个myobject
实例时this.mousedown(e)
被调用时,它会宁是调用(如果术语是正确的吗?)在这情况下,它是我创建的div,并将其放在上面的变量test
中。
我想访问正在运行该方法的实例(因为我相信这是我创建的mousedown
方法)。
这远远我有一些想法,我已经尝试了:
- 上创建一个
div
属性data-
包含this
对象,并在该操作。 - 发送this指针作为参数与
e
一起this.mousedown(e)
这是所有我能想到的,现在希望它让SENCE。
你意识到你的示例代码是无效的JS? 'funciton(){...}'是调用一个名为“funciton”的函数的方法,后跟一个不相关的语句块。 'this.initialize(){...}'同样是一个方法调用,后跟一个不相关的块。正如'this.mousedown(){...}'。分号插入后,这段代码相当于'myobject = funciton(); this.initialize(); var test = ...; test.onmousedown = this.mousedown; this.mousedown();' –