jQuery attr('onclick')

时间:2011-04-25 18:22:42

标签: javascript jquery onclick attr

我试图在jQuery中更改“onclick”属性,但它没有改变,这是我的代码:

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

我有一个id =“stop”的元素,当用户点击它时,我想更改id =“next”的元素的onclick属性。

如果有人知道解决方案在哪里,请帮忙!

5 个答案:

答案 0 :(得分:45)

以jQuery方式(并修复错误):

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

如果元素已经通过click属性附加了onclick处理程序,则必须将其删除:

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

更新:正如@Drackir指出的那样,您可能还需要调用$('#next').unbind('click');才能删除通过jQuery附加的其他点击处理程序。

但这是在猜测。一如既往:更多信息=&gt;更好的答案。

答案 1 :(得分:13)

正如@Richard在上面指出的那样,onClick需要有一个资本&#39; C&#39;

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

答案 2 :(得分:7)

最简单的方法是将.attr()函数更改为javascript函数.setAttribute()

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

答案 3 :(得分:0)

菲利克斯·克林的方式会起作用,(实际上是打败了我),但我也建议使用

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

如果在多次单击元素时遇到问题和奇怪的行为,这可能是更好的方法。

答案 4 :(得分:0)

尝试使用此版本的jquery-1.10.2!