Javascript jQuery off click event from click event';s函数';s间隔';s函数?

Javascript jQuery off click event from click event';s函数';s间隔';s函数?,javascript,jquery,scope,Javascript,Jquery,Scope,我正在创建一个非常简单的游戏-当用户单击该区域时开始, 应该在10秒后停止,所以我有如下代码: $('#area').click(function(){ var timer = setInterval(function(){ clearInterval(timer); $(this).off('click'); //this is taking window as "this" }, 1000); }); 但正如您从代码$(this.off('click')中看

我正在创建一个非常简单的游戏-当用户单击该区域时开始, 应该在10秒后停止,所以我有如下代码:

$('#area').click(function(){
  var timer = setInterval(function(){ 
     clearInterval(timer);
     $(this).off('click'); //this is taking window as "this" 
  }, 1000);
});
但正如您从代码
$(this.off('click')中看到的那样
没有做我想做的-如何到达
$(“#区域”)
此范围内的
?(单击事件函数的间隔函数)。

我希望您能正确理解我的问题,如果您不理解,请发表评论:)

您需要将
的值存储在单击处理程序(即单击的元素)中,以便在计时器函数中使用它。试试这个:

$('#area').click(function(){
    var $area = $(this);
    var timer = setInterval(function(){ 
        clearInterval(timer);
        $area.off('click');
    }, 1000);
});

您需要将
this
的值存储在click处理程序(即单击的元素)中,以便在计时器函数中使用它。试试这个:

$('#area').click(function(){
    var $area = $(this);
    var timer = setInterval(function(){ 
        clearInterval(timer);
        $area.off('click');
    }, 1000);
});

var和area之间的$between在这里重要吗?@jave.web语法上不需要它,这是一种惯例,表明变量用于保存jQuery对象。我想是这样:)我只是想确定一下,不管怎样,它是有效的-有趣的是,我只是选择了“这个”-不是作为jQuery对象:)谢谢。顺便说一句,在最后的代码中,我不需要这个,但知道它仍然很好:)(我会尽快接受这个答案;)var和area之间的$betwe在这里很重要吗?@jave.web从语法上来说,这不是必需的,这是一个惯例,表明变量用于保存jQuery对象。我想是这样:)我只是想确定一下,不管怎么说,它是有效的——有趣的是,我只是选择了“this”——而不是作为jQuery对象:)谢谢。顺便说一句,在最后的代码中我不需要这个,但知道它仍然很好:)(我会尽快接受这个答案;)