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

Ваш аккаунт

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

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

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

Не смог повесить обработчик на щелчок по элементу. Подскажите, плз, правильную запись.

248
28 сентября 2013 года
Dmitry2064
590 / / 06.12.2006
Есть элемент в HTML

 
Код:
<td><button class="mNum">с. 20 из 40</button></td>
Не могу сюда присобачить обработчик. И через отдельную строку в header подключал
<script type="text/javascript" src="js/gotopage.js">
 
Код:
onload = function() {
    //document.getElementsByTagName('button')[0].onclick = function() { //такой вариант обращения к элементу тоже не помог, хотя элемент с номером 1 реагирует - но это не тот элемент))
            document.getElementById('mNum').onclick = function() {
        alert("Это обработчик события!")              
    }
}
Может потому, что у моего элемента указан класс, а не ID? А свойство есть только по ID - getElementsById? (как же тогда обращаться к элементу по его классу?)


или через onclick:

 
Код:
<script>
  document.getElementsById('mNum').onclick = function() {
        alert("Это обработчик события назначен")  
    };
</script>
Никакой реакции. Правда, если писал в теле HTML, то перед этим есть другое включение <script>...</script>. Может все скрипты внутри HTML должны быть внутри одной пары тегов script?
8
29 сентября 2013 года
mfender
3.5K / / 15.06.2005
А покажи код того элемента, на который обработчик вешаешь.
53K
05 ноября 2013 года
toxinf
5 / / 20.07.2010
если у элемента не указан ID getElementById не будет работать, если нужно навесить событие на класс нужно обращаться к имени класса


 
Код:
window.onload = function() {
    document.body.onclick = function(e) {
        e = window.event ? event.srcElement : e.target;
        if (e.className && e.className.indexOf('mNum') != -1) {
            alert('Это обработчик события!');
        }
    }
}
248
08 ноября 2013 года
Dmitry2064
590 / / 06.12.2006
Цитата: toxinf
если у элемента не указан ID getElementById не будет работать, если нужно навесить событие на класс нужно обращаться к имени класса


 
Код:
window.onload = function() {
    document.body.onclick = function(e) {
        e = window.event ? event.srcElement : e.target;
        if (e.className && e.className.indexOf('mNum') != -1) {
            alert('Это обработчик события!');
        }
    }
}



Спасибо. Это тоже пригодится, но пока я просто присобачил к элементу еще и ID (даже без создания его стилей в CSS'e).

 
Код:
<button class="mNum" id='mID'>жми!</button>
Банально, но работает))
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог