我正在创建一个非常简单的游戏 - 它在用户点击该区域时启动, 并应在10秒后停止,所以我有这样的代码:
$('#area').click(function(){
var timer = setInterval(function(){
clearInterval(timer);
$(this).off('click'); //this is taking window as "this"
}, 1000);
});
但正如您从代码$(this).off('click');
中看到的那样,我没有做我想做的事情 - 如何在此范围内访问$('#area')
的 this
? (单击事件的函数的间隔函数)。
我希望你能正确理解我的问题,如果不请发表评论:)
答案 0 :(得分:1)
您需要将this
的值存储在点击处理程序中(这将是单击的元素),以便您可以在计时器功能中使用它。试试这个:
$('#area').click(function(){
var $area = $(this);
var timer = setInterval(function(){
clearInterval(timer);
$area.off('click');
}, 1000);
});