как предотвратить действие события по умолчанию в Google Earth с IE - PullRequest
0 голосов
/ 21 октября 2011

У меня проблемы с e.preventDefault () для IE (8).

Все работает в Chrome (это означает, что выполнение выполняется правильно, и действие по умолчанию запрещено).Однако в IE выполнение корректное, но также выполняется действие по умолчанию.

В дальнейшем исследовании я обнаружил, что всякий раз, когда я смотрю на объект события, он завершается неудачей (без ошибок, просто тихо завершает работу обработчик).

Я удалил весь код и сварил его следующим образом:

google.earth.addEventListener(spot.placemark, 'click', test);

function test(e){
  alert(1);
  e.returnValue = false;
  alert(2);
  if(e.preventDefault) e.preventDefault(); 
  alert(3);
  return(false);
}

Таким образом, в IE срабатывает только первое предупреждение.С хромом они все стреляют.Если я отменю предупреждение 2 и предупреждение 3, все равно только предупреждение 1 срабатывает.Принципиально - прикосновение к e не выполняется.

Я также пытался использовать объект window.event вместо того, чтобы полагаться на переданное значение e.

var e = window.event;

Но это имело тот же эффект.Цените некоторые указатели.Спасибо

1 Ответ

0 голосов
/ 21 октября 2011

в ответе Функция event.preventDefault () не работает в IE

function test(e) {
    e.preventDefault ? e.preventDefault() : e.returnValue = false;
}
...