отключить ссылку в IE9 - прототип stop () не работает - PullRequest
9 голосов
/ 13 октября 2010

IE9 все еще в бета-версии, но все же, вот вопрос:

Используя prototype.js 1.6.1, правильная форма для добавления события щелчка к ссылке и переопределения поведения ссылки по умолчанию будет:

mylink.observe('click', function(e){
   doSomething();
   e.stop();
});

Хотя это прекрасно работает во всех других браузерах, которые я пробовал, IE9 - уникальный случай. Поведение событий по умолчанию срабатывает, и моя ссылка приводит меня к связанному местоположению. Кажется, что stop () не выполняет свою работу в IE9.

Следующий код отлично работает в IE9:

mylink.onclick = function(){
   doSomething();
   return false;
}

Любая идея, что я мог бы сделать, чтобы исправить методологию прототипа для использования в IE9?

Ответы [ 2 ]

9 голосов
/ 06 ноября 2010

prototype.js версии ниже 1.7 выполняет анализ браузера, чтобы применить кросс-браузерные совместимые исправления.

prototype.js переписывает нативные методы своей реализацией, что не удается в IE 9; несмотря на то, что он поддерживает события DOM Level 2.

Более новая версия prototype.js не имеет этой проблемы, поскольку она «обнаруживает особенности», а не «анализирует браузер»

1 голос
/ 12 сентября 2012

Измените режим документа на стандарты IE8, поместив следующий тег внутри <head></head>:

<meta http-equiv="X-UA-Compatible" content="IE=8" />
...