jQuery attr(’onclick’)

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

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

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

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

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

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

如果元素已经通过onclick属性附加了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!