Все форумы » Форум вебмастера » Технические вопросы: HTML, CSS, JavaScript » Проблема с вызовом обработчиков событий в javascript
Проблема с вызовом обработчиков событий в javascript
Сообщений 2
2013-08-31 15:02:15
vadval15
Участник
Участник
В статье «События JavaScript» рассматривались два основных способа вызова обработчиков событий при помощи языка javascript -
1. Непосредственно из элемента командой вида:
Имя события = "Имя функции()".
2. Из обрабатываемого кода командой вида:
window.Имя события = Имя функции
или document.getElementById(Идент.).Имя события = Имя функции.
Однако, указанные функции-обработчики вызываются только с помощью первого способа, второй же способ никакого результата не даёт. В чём же заключается причина такого разного их действия, или они функционально не равнозначны? Заранее благодарен за любые мнения по этому поводу.
1. Непосредственно из элемента командой вида:
Имя события = "Имя функции()".
2. Из обрабатываемого кода командой вида:
window.Имя события = Имя функции
или document.getElementById(Идент.).Имя события = Имя функции.
Однако, указанные функции-обработчики вызываются только с помощью первого способа, второй же способ никакого результата не даёт. В чём же заключается причина такого разного их действия, или они функционально не равнозначны? Заранее благодарен за любые мнения по этому поводу.
2013-09-01 13:26:27
Serge
администратор
администратор
Должно работать оба способа. Важно только чтобы на момент назначения, сам элемент уже был создан. Например:
Тут для a1 сработает, а для a2 - нет, т.к. на момент выполнения скрипта а2 еще не существует.
Сообщение оредактировано в 2013-09-01 13:32:49
<a id="a1">1</a>
<script type="text/javascript">
function MyHandler() { alert('Click!'); }
document.getElementById("a1").onclick=MyHandler;
document.getElementById("a2").onclick=MyHandler;
</script>
<a id="a2">2</a>
Тут для a1 сработает, а для a2 - нет, т.к. на момент выполнения скрипта а2 еще не существует.
Сообщение оредактировано в 2013-09-01 13:32:49
Стр.:
1