我正在尝试使用jQuery更改"onclick"属性,但它没有改变,这是我的代码:
$('#stop').click(function() {
$('next').attr('onclick','stopMoving()');
}
我有一个id为"stop"的元素,当用户点击它时,我想要改变具有id="next"的元素上的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附加的其他点击处理程序。
但这只是猜测。像往常一样:更多信息=更好的答案。
$('#next').unbind('click');
另外,你写成了 "onlick" 而不是 "onclick"。 :) - Richard Marskell - Drackir.one('click', stopMoving)
。是的,也许......我们不确定。 - Felix Kling正如@Richard在上面指出的那样,onClick需要有一个大写的'C'。
$('#stop').click(function() {
$('next').attr('onClick','stopMoving()');
}
#
,应该是 $('#next')
:) - Tran Audi$('#stop').click(function() {
$('next')[0].setAttribute('onclick','stopMoving()');
}
Felix Kling的方法是可行的(实际上比我更快),但我也建议使用
$('#next').die().live('click', stopMoving);
如果您在单击元素多次时遇到问题和奇怪的行为,这可能是更好的方法。
id
进行选择,您必须在 id 名称前加上#
,以给出选择器$('#next')
,这是您在第一个选择器中执行的操作,但在第二个选择器中省略了。 - David Thomas