遇到这么一个问题,如果把$(this)写在setTimeout里,就失效了,有什么办法可以提前保存$(this)吗?
$("body").on("click", function(){
var timeout = setTimeout(function(){
console.log($(this).attr("class"));
}.call(this), 1000);
});
10 回答11.3k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
可以使用
$.proxy(function, context)
来保持了特定的上下文(context )语境。修改后如下: