Я не думаю, это особенно странно, но в попытке контролировать мой код JavaScript (если это , возможно реально контролировать JavaScript ;-)), я был оборачивая весь мой клиентский JavaScript в прекрасные объекты. Или так хорошо, как я могу сделать их в любом случае.
Одной из первых проблем, с которыми я столкнулся, было прикрепление событий к чему-либо внутри этих объектов. Вскоре стало очевидно, что это не всегда означает, что вы думаете, что это означает, и в результате мой код должен выглядеть следующим образом:
var obj = this;
_map.AttachEvent("onclick", function(event){ obj.onClickMap(event); });
Таким образом, все события вызывают текущий объект. Работа хорошая 'un.
Однако, при отсоединении событий от объекта карты Virtual Earth вам нужно передать функцию, которую вы изначально присвоили, чтобы только она не была назначена. Это не работает:
_map.DetachEvent("onclick", function(event){ obj.onClickMap(event); });
... не то, чтобы я действительно этого ожидал. Но я не могу понять, как отключить это событие!