в jQuery attr, который('щелчку')

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

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

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

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

5 ответов


сделайте это способом jQuery (и исправьте ошибки):

$('#stop').click(function() {
     $('#next').click(stopMoving);
     // ^-- missing #
});  // <-- missing );

, если элемент уже есть click обработчик подключен через , вы должны удалить его:

$('#next').attr('onclick', '');

обновление: как отметил @Drackir, вам также может потребоваться позвонить $('#next').unbind('click'); для удаления других обработчиков щелчка, подключенных через jQuery.

но это догадки здесь. Как всегда: больше информации => лучшие ответы.


Как @Richard указал выше, onClick должен иметь заглавную "C".

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

самый простой способ-изменить .функция attr () для функции javascript .setAttribute ()

$('#stop').click(function() {
    $('next')[0].setAttribute('onclick','stopMoving()');
}

путь Феликса Клинга будет работать (на самом деле избил меня до удара), но я также собирался предложить использовать

$('#next').die().live('click', stopMoving);

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


попробуйте с этой версией jquery-1.10.2!