09-解决方案
5.2.2 解决方案
在调用 setTimeout() 之前将this`保存在一个变量中:
$(document).ready( function() {
$('.clicky').click( function() {
var element = this;
$(element).addClass('clicked');
setTimeout( function() {
$(element).removeClass('clicked');
}, 1000 );
});
});
更好的做法是,因为将在两个位置调用 $() ,按照秘诀5.3中的建议,将 $(this) 复制到一个变量中,代替this:
$(document).ready( function() {
$('.clicky').click( function() {
var $element = $(this);
$element.addClass('clicked');
setTimeout( function() {
$element.removeClass('clicked');
}, 1000 );
});
});