Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

JavaScript addEventListener в Opera 10.50

69K
19 апреля 2012 года
HabraHabr
1 / / 15.03.2011
Здравствуйте! Есть такой вопрос.
Сразу хочу предупредить, что в последних версиях браузеров всё работает. Проблема именно в Opera 10.50 (возможно, и в более ранних версиях).
Не вешается обработчик событий на click\,mousemove\mouseover и т.д.
Пример:

 
Код:
<div id="test">
TEST
</div>

<script>
document.getElementById('test').addEventListener('click', function(){
    alert(document.getElementById('test').innerHTML);
});
</script>
В последних версиях всех браузеров всё работает, не работает в опере 10.50 (проверено на нескольких машинах).

Следующий код показывает(как и alert(document.getElementById('test').addEventListener) =)), что функция addEventListener в опере 10.50 присутствует (ибо ничего не происходит):

Код:
<div id="test">
TEST
</div>
<script>

if(document.getElementById('test').addEventListener){
document.getElementById('test').addEventListener('click', function(){
    alert(document.getElementById('test').innerHTML);
});
}else{
document.getElementById('test').onclick = 'alert(document.getElementById(\'test\').innerHTML)';
}
</script>
Зачем тогда в браузере функция, которая есть, но не работает ИЛИ что еще можно сделать, кроме attachEvent и прямого object.onclick?
Да, и заодно как можно проверить работоспособность addEventListener? Потому что в новых браузерах прямой object.onclick уже не работает, а в старых обработчик событий не работает.
366
20 апреля 2012 года
int
668 / / 30.03.2005
 
Код:
....addEventListener('click', function() {alert(this.id);}, false);
А если так?
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог