Помощь со "слущателем"
Всем привет. Хочу чуть-чуть разобраться с ЯС, чтобы делать простенькие скрипты. Сейчас просто тренеруюсь.
new.html ------------------------- <script type='text/javascript' src='js.js'></script> <a href='#' id='but' style='border: 0'>Alert One</a> <a href='#' id='but2' style='border: 0'>Alert Two</a> js.js --------------------------- window.onload = loadlisteners; function loadlisteners(){ add_event('but', 'click', show_alert(msg)); add_event('but2', 'click', show_alert(msg)); } function add_event(el, type, handler){ el.addEventListener(type, function(){handler} false); // я так понимаю, что здесь что-то не так, между фигурными скобками? } function show_alert(msg){ alert(msg); } Это только для ФФ. Почему не работает? Только код готовый не пишите, я сам хочу :) И еще вопрос: иногда в скриптах пишут function bla_bla(e){ ... } Я понимаю, что е это ссылка на событие, но откуда это событие берется, если нигда выше переменная е не объявлена так e = event || window.event; ? |
el.addEventListener(type, function(){handler} false); // я так понимаю, что здесь что-то не так, между фигурными скобками? да. запятую забыли. и еще скобки :). element.addEventListener( событие, обработчик, всплытие) так лучше. если хотите сами, то не смотрите на то,что снизу el.addEventListener(type, function(){handler*!*()*/!*}*!*,*/!* false); вот тут есть отличное описание, что такое ивент |
Цитата:
Получайте элемент по ID: document.getElementById('but') и вот это и передавайте функции add_event. show_alert(msg) - Тут вы должны передавать функцию, а не результат выполнения другой функции. То есть передавайте: function() {alert(msg);} Ну а подробнее про все это почитайте по ссылке выше которую дал melky |
Часовой пояс GMT +3, время: 10:37. |