[英].removeClass doesn't work how addClass does?
请原谅我是一个菜鸟,但不应该这样做吗?
$(document).ready(function() {
$('.button').click(function() {
$(this).addClass('button-clicked');
});
$('.button-clicked').click(function() {
$(this).removeClass('button-clicked');
});
});
不应该第二次单击删除该类并将其恢复为.button?
这里是jsfiddle: http : //jsfiddle.net/pXdwM/
不,因为在您调用第二次click()
该按钮没有“.button-clicked”,因此未分配事件处理程序。 你可以像这样重写它
$('.button').click(function() {
$(this).toggleClass('button-clicked');
});
或使用live()
$('.button-clicked').live("click", function() {
$(this).removeClass('button-clicked');
});
您正在使用类'.button-clicked'向每个元素添加一个事件,但在您实际单击之前该类不适用。 因此,您需要将第二个侦听器移动到第一个回调中,或者使用toggleClass
函数:
$('.button').click(function() {
$(this).toggleClass('button-clicked');
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.