Как jQuery обрабатывает событие click? - PullRequest
1 голос
/ 22 мая 2009

Я новичок в jQuery и не могу заставить работать селектор, используя идентификатор элемента. Код ниже работает:

$(function() {  
  /* $("#ShowBox").onclick = ShowAccessible;  */  
  document.getElementById("ShowBox").onclick = ShowAccessible;  
  /* $(".searchcheck").click = ShowAccessible; */  
});

function ShowAccessible() {  
  $("tr.hide").fadeOut();  
}

Однако ни одна из двух закомментированных строк не работает, т.е. они не применяют событие click к флажку с именем «ShowBox» с классом «searchcheck». Почему это?

Ответы [ 3 ]

8 голосов
/ 22 мая 2009

нет свойства onclick для объекта jQuery; когда вы используете $([selector]), возвращается объект jQuery, а не элемент.

Используйте либо

.click(function () { ...}); // can be an anonymous function or named function

или

.bind('click', function() { ... }); // can be an anonymous function or named function

вроде так

$("#ShowBox").click(ShowAccessible);
$("#ShowBox").bind('click', ShowAccessible);
6 голосов
/ 22 мая 2009

JQuery использует функции, а не свойства для установки обработчиков.

$("#ShowBox").click(ShowAccessible); 
0 голосов
/ 22 мая 2009

если вам действительно нужно было сделать это с заданием, я думаю

$ ("# ShowBox") [0] .onclick = ShowAccessible;

будет работать.

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