Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何仅在文本输入之外拾取值_Javascript_Jquery - Fatal编程技术网

Javascript 如何仅在文本输入之外拾取值

Javascript 如何仅在文本输入之外拾取值,javascript,jquery,Javascript,Jquery,目前,我的javascript编写如下,但是,脚本有一个问题,我正在尝试修复。。。当光标聚焦于id为proxid的输入类型文本时,它仍会拾取键入的值 我只希望它在光标未在输入中选择时获取值 $(document).keypress(function(event) { switch(event.which){ //stuff } } 如何检查光标是否在输入框上聚焦?您可以使用选择器检查光标当前是否在输入框上 $('input').is(':focus'); 因此

目前,我的javascript编写如下,但是,脚本有一个问题,我正在尝试修复。。。当光标聚焦于id为proxid的输入类型文本时,它仍会拾取键入的值

我只希望它在光标未在输入中选择时获取值

$(document).keypress(function(event) {
    switch(event.which){
        //stuff
    }
}
如何检查光标是否在输入框上聚焦?

您可以使用选择器检查光标当前是否在输入框上

$('input').is(':focus');
因此,在代码中,您可以执行以下操作:

$(document).keypress(function(event) {
    if(!$('#myInput').is(':focus'))
    {
        //Run Code here when input is not focused.
    }   
});
演示:

您可以检查document.activeElement的标记名:

或:

如果document.querySelector'input:focus'。长度>0{ //输入元素具有焦点 }

参考资料:

. .
最好通过以下方式对焦点的变化做出反应:

加价

小提琴:

或者,包含所有输入:

if (document.activeElement.tagName.toLowerCase() === 'input') {
    // an input element has focus
}
<input type="text" id="myEdit" />
   $('#myEdit').on('blur', function() {
      console.log(this.value);
    });