如何为此设置超时时间?

时间:2019-03-09 03:42:49

标签: javascript time set out

我希望它在打开窗口20秒钟后自动按ok按钮。 我不知道该怎么做。 代码是:

window_NameInput.prototype.processHandling = function() {
    if (this.isOpen() && this.active) {

        if (Input.isRepeated('ok')) { 
            this.processOk();
        }
    }
};

我尝试过的:

window_NameInput.prototype.processHandling = function() {
    if (this.isOpen() && this.active) {

       { setTimeout(function ()   if (Input.isRepeated('ok')) { 
            this.processOk();
        } , 20000); }

    }
};

编辑:

我实际上决定在下面使用此代码。我想在窗口打开20秒后调用ok处理程序。

Window_NameInput.prototype.processHandling = function() {
    if (this.isOpen() && this.active) {

   setTimeout(function(){

    this.callOkHandler();

},2000);



    }
};

但是我未捕获类型错误this.callokhandler不是一个函数

感谢您的帮助

1 个答案:

答案 0 :(得分:1)

您将if()条件放到了函数{的前面。

尝试:

window_NameInput.prototype.processHandling = function(){
  if (this.isOpen() && this.active) { 
      setTimeout(function() {
        if (Input.isRepeated('ok')) {
          this.processOk();
        }
      }, 20000);
  }
};

希望这会有所帮助,