我正在尝试更改 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 );
如果元素已经click
通过属性附加了处理程序onclick
,则必须将其删除:
$('#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()');
}
Felix Kling 的方法会奏效,(实际上打败了我),但我也建议使用
$('#next').die().live('click', stopMoving);
如果在多次单击元素时遇到问题和奇怪的行为,这可能是一种更好的方法。