JavaScript addEventListener в Opera 10.50
Сразу хочу предупредить, что в последних версиях браузеров всё работает. Проблема именно в Opera 10.50 (возможно, и в более ранних версиях).
Не вешается обработчик событий на click\,mousemove\mouseover и т.д.
Пример:
Код:
<div id="test">
TEST
</div>
<script>
document.getElementById('test').addEventListener('click', function(){
alert(document.getElementById('test').innerHTML);
});
</script>
TEST
</div>
<script>
document.getElementById('test').addEventListener('click', function(){
alert(document.getElementById('test').innerHTML);
});
</script>
Следующий код показывает(как и 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>
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>
Да, и заодно как можно проверить работоспособность addEventListener? Потому что в новых браузерах прямой object.onclick уже не работает, а в старых обработчик событий не работает.
Код:
....addEventListener('click', function() {alert(this.id);}, false);