Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как узнать есть ли у элемента событие клика? (https://javascript.ru/forum/misc/59756-kak-uznat-est-li-u-ehlementa-sobytie-klika.html)

милт 25.11.2015 14:41

Как узнать есть ли у элемента событие клика?
 
Как можно узнать есть ли у элемента событие клика? То есть надо узнать произойдет ли что-то если кликнуть на этот элемент.

Vlasenko Fedor 25.11.2015 15:10

if( typeof element.onclick != "undefined")

милт 25.11.2015 16:41

Цитата:

Сообщение от Poznakomlus (Сообщение 397627)
if( typeof element.onclick != "undefined")

Почему-то твой код всегда возвращает истину. Мне надо проверить будет ли происходить что-то если нажать на такую кнопку.
<span class='btn'>
<span class='end'>
<input class='label' type='submit' value='Принять'>
Принять
</span>
</span>
как видите у неё не прописано событие onclick но эта кнопка на самом деле имеет событие.

ruslan_mart 25.11.2015 17:08

милт, вот этого достаточно:

if(element.onclick) {

}


Но для строгости можно и так:

if(typeof element.onclick == 'function') {

}


Если речь идёт о назначений событий через addEventListener, то - никак не отследить.

2chan 26.11.2015 15:59

Цитата:

Сообщение от Poznakomlus (Сообщение 397627)
if( typeof element.onclick != "undefined")

Бред. Для элементах, в которых onclick не установлен, но есть в прототипе, значение element.onclick равно null.

if(!element.onclick) {}

или
if(element.onclick != null) {}

Vlasenko Fedor 26.11.2015 17:44

Цитата:

Сообщение от 2chan (Сообщение 397746)
Бред. Для элементах, в которых onclick не установлен, но есть в прототипе, значение element.onclick равно null.

if(!element.onclick) {}

или
if(element.onclick != null) {}

Бред :haha:

<input type="button" value="ClickMe" id="test"/>
<script>
window.onload = function(){
    test.onclick = function(){
        alert('Click');
    };
    if(!test.onclick) { alert('Hi');}
};
</script>

И
<input type="button" value="ClickMe" id="test"/>
<script>
window.onload = function(){
   if(!test.onclick) { alert('Hi');}
    test.onclick = function(){
        alert('Click');
    };
};
</script>


Часовой пояс GMT +3, время: 12:27.