Невозможно добавить функцию обработчика событий, используя jQuery - PullRequest
0 голосов
/ 06 марта 2012

У меня был следующий код JavaScript, и он работал правильно -

var changeImageButton = document.getElementById("changeImageButton");
changeImageButton.onclick = buttonWasClicked;

buttonWasClicked - это имя функции JavaScript, которая вызывается при нажатии кнопки changeImageButton.

Теперь я хочу написать тот же код, используя JQuery. Итак, я написал -

 $("#changeImageButton").attr("onclick","buttonWasClicked");

Но это не работает. Что я делаю не так?

Ответы [ 5 ]

4 голосов
/ 06 марта 2012

Вы можете достичь этого, используя несколько различных методов

$("#changeImageButton").click(function(){ do_something(); });

$("#changeImageButton").on("click mouseover", function(){ do_something(); });
//this is useful because you can specify more than one event, if you want to
//(so, this code would also trigger when you move the mouse over - not what
// you want, but just for demonstration purposes)

//In jQuery 1.7+ this is doubly useful, because this will also work with elements
//added _after_ the DOM has initially loaded and this code has run
2 голосов
/ 06 марта 2012

Вам необходимо зарегистрировать событие, а не добавить атрибут:

$("#changeImageButton").click(buttonWasClicked);
2 голосов
/ 06 марта 2012

jQuery имеет метод click() для назначения событий щелчка.

$("#changeImageButton").click(buttonWasClicked);
1 голос
/ 06 марта 2012

Попробуйте это:

$('#changeImageButton').click(buttonWasClicked);

jQuery документация для клика: http://api.jquery.com/click/

0 голосов
/ 06 марта 2012

Какую версию jQuery вы используете?

Вот учебник jQuery по добавлению прослушивателей событий: http://api.jquery.com/click/

$("#changeImageButton").click(function() {
  buttonWasClicked();
});
...