我试图在jQuery中更改“onclick”属性,但它没有改变,这是我的代码:
$('#stop').click(function() {
$('next').attr('onclick','stopMoving()');
}
我有一个id =“stop”的元素,当用户点击它时,我想更改id =“next”的元素的onclick属性。
如果有人知道解决方案在哪里,请帮忙!
答案 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!