jQuery проверяет, существует ли onClick для элемента - PullRequest
7 голосов
/ 07 декабря 2009

Я нашел способ проверить, существует ли событие в элементе . Но это не работа с событиями, которые не делегированы jQuery ...

Когда я пытаюсь,

$("a").data("events");

для этого.

<a href="#" onClick="alert('Hello, World!')" />

Возвращено неопределенное.

Есть ли способ проверить, существует ли onClick для элементов с jQuery?

Спасибо.

Ответы [ 5 ]

18 голосов
/ 07 декабря 2009

Вы можете сделать:

if ($('a').attr("onClick") != undefined) {}
8 голосов
/ 28 декабря 2011

Просто сделай:

if( myelement.onclick != null )
{
   //onclick exists
}
else
{
   //onclick doesn't exist
}

Нет необходимости в jQuery.

3 голосов
/ 18 августа 2012
if( $('#elementName').click == undefined)  
   { //event handler doesn't exist }
else 
   { //handler exists }
0 голосов
/ 30 ноября 2012

Конечно, здесь есть несколько правильных ответов, и это был хороший ответ, который меня вдохновил.

if ($('a').attr("onClick") != undefined) {}

Но я нашел лучший ответ для вас, так как это было, поскольку мы оба имеем дело с гиперссылками, ищем атрибут href.

if ($('a').attr("href") != undefined) {}

Мне особенно понравился этот подход.

0 голосов
/ 07 декабря 2009

Я думаю, что следующие вещи также должны работать

if ($(yourElement).attr("onClick").length != 0) {}

if ($(yourElement).attr("onClick").size() != 0) {}

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...