JQuery attr ('onclick')
Я пытаюсь изменить атрибут onclick в jQuery, но он не изменяется, вот мой код:
$('#stop').click(function() {
$('next').attr('onclick','stopMoving()');
}
У меня есть элемент с id = "stop", и когда пользователь нажимает на него, я хочу изменить атрибут onclick на элемент с id = "next".
Если кто-то знает, где это решение, пожалуйста, помогите!
Ответы
Ответ 1
Сделайте это способом jQuery (и исправьте ошибки):
$('#stop').click(function() {
$('#next').click(stopMoving);
// ^-- missing #
}); // <-- missing );
Если элемент уже имеет обработчик click
, прикрепленный через атрибут onclick
, его необходимо удалить:
$('#next').attr('onclick', '');
Обновление: Как отметил @Drackir, вам также может потребоваться позвонить $('#next').unbind('click');
, чтобы удалить другие обработчики кликов, прикрепленные через jQuery.
Но это угадывает здесь. Как всегда: Дополнительная информация = > лучшие ответы.
Ответ 2
Как отметил @Richard выше, onClick должен иметь капитал C.
$('#stop').click(function() {
$('next').attr('onClick','stopMoving()');
}
Ответ 3
Самый простой способ - изменить функцию .attr() на функцию javascript.setAttribute()
$('#stop').click(function() {
$('next')[0].setAttribute('onclick','stopMoving()');
}
Ответ 4
Felix Kling будет работать (на самом деле избил меня до удара), но я также собирался предложить использовать
$('#next').die().live('click', stopMoving);
это может быть лучшим способом сделать это, если вы столкнетесь с проблемами и странным поведением, когда элемент щелкнут несколько раз.
Ответ 5
Попробуйте использовать эту версию jquery-1.10.2!