setinterval失去了对输入字段的关注

时间:2018-01-09 17:43:24

标签: javascript html twitter-bootstrap

当我尝试在bootstrap模式中使用setInterval函数输入字段时获得焦点

setInterval(function(){
    console.log("hi");
}, 5000);

尝试在输入字段中写入时自动输出焦点。

ISSUE

1 个答案:

答案 0 :(得分:2)

这个答案可能不是你想要的,我不确定是否可以给出真正的答案,但是将代码放在评论中是很难看的。 阅读有关问题本身信息的评论。

  • 在Google Chrome Android中发生(不确定版本或手机或键盘是否重要)
  • 发生延迟和setinterval等延迟函数
  • 我猜测它与重画有关,但是如果一个console.log也会触发它......我不知道

在代码中,类似于我的生产案例,并且在其中包含“修复”(对于我的案例)。

setTimeout(function() {
    // Any var declarations don't seem to matter
    var foo = null;

    // Easy way out ... if needed you can delay to do stuff onBlur
    // Find current focused element and escape if its an input
    if (document.activeElement.nodeName === 'INPUT') {
        return;
    }   

    // Here some random style change that triggered the bug
    randomFunc();
}, 210);