Подтвердить что ты не робот

JQuery attr ('onclick')

Я пытаюсь изменить атрибут onclick в jQuery, но он не изменяется, вот мой код:

$('#stop').click(function() {
     $('next').attr('onclick','stopMoving()');
}

У меня есть элемент с id = "stop", и когда пользователь нажимает на него, я хочу изменить атрибут onclick на элемент с id = "next".

Если кто-то знает, где это решение, пожалуйста, помогите!

4b9b3361

Ответ 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!