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!