我在页面正文中有一个输入元素。我创建了一个 setInterval 方法。现在我想要的是当我的页面打开的标签有焦点(即$(window).foucs();),当我的鼠标光标在输入字段内时(即我单击输入字段内部并且它在输入内部,setInterval应该开始。它应该继续,直到输入失去焦点,即光标不在输入内。
到目前为止,我已经尝试了这个但是它无效:
$(document).ready(function(){
$(window).focus(function(){
if(("input").is(":focus")){
var aa=setInterval(newFunc, 2000);
function newFunc(){...........}
}
});
});
答案 0 :(得分:2)
在输入元素的焦点和模糊处理程序之间的公共范围内声明变量。
var aa;
$("input").focus(function(){
aa = setInterval(newFunc, 2000);
function newFunc() {
...
}
})
$("input").blur(function(){
clearInterval(aa);
})
希望有所帮助
答案 1 :(得分:1)
您可以使用:
$("input").on("focus", function () {
var aa = setInterval(newFunc, 2000);
function newFunc(){...........}
});
或者在关注时执行此操作,将focus
更改为focusout
。
请参阅:https://api.jquery.com/focus/和https://api.jquery.com/focusout/