微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript-仅当输入元素具有焦点时,如何启动setInterval?

我在页面正文中有一个输入元素.并且我创建了一个setInterval方法.现在我想要的是打开页面的选项卡具有焦点时(即$(window).foucs();),以及当鼠标光标位于输入字段内时(即,我在输入字段中单击并(在输入内部),则setInterval应该开始.并且应该继续直到输入失去焦点,即光标不在输入内.

到目前为止,我已经尝试过了,但是没有用:

$(document).ready(function(){
  $(window).focus(function(){
    if(("input").is(":focus")){
      var aa=setInterval(newFunc, 2000);
      function newFunc(){...........}
    }
  });
});

解决方法:

在输入元素的焦点和模糊处理程序之间的公共作用域中声明该变量.

var aa;
$("input").focus(function(){
    aa = setInterval(newFunc, 2000);
  function newFunc() {
    ...
  }
})
$("input").blur(function(){
    clearInterval(aa);
})

希望能有所帮助

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐