我不认为这特别古怪,但是为了控制我的 JavaScript 代码(如果可以真正控制 JavaScript ;-))我一直在将所有客户端 JavaScript 包装在可爱的对象中。或者无论如何我都可以让它们变得可爱。
我遇到的第一个问题是将事件附加到这些对象中的任何内容。很快就会发现,这并不总是意味着您认为它的含义,因此我的代码必须如下所示:
var obj = this;
_map.AttachEvent("onclick", function(event){ obj.onClickMap(event); });
这样所有的事件都会调用当前对象。乔布斯是个好人。
但是,当从 Virtual Earth 地图对象中分离事件时,您需要传递您最初分配的函数,以便仅未分配该函数。这不起作用:
_map.DetachEvent("onclick", function(event){ obj.onClickMap(event); });
...并不是我真正期望的那样。但我不知道如何分离那个事件!