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

时间:2013-10-21 15:55:24

标签: javascript jquery

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

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

$(document).keypress(function(event) {
    switch(event.which){
        //stuff
    }
}

如何检查光标是否在输入框上对焦?

3 个答案:

答案 0 :(得分:3)

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

$('input').is(':focus');

所以在你的代码中,你可以这样做:

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

演示: http://jsfiddle.net/afw3L/

答案 1 :(得分:1)

您可以查看tagName的{​​{1}}:

document.activeElement

或者:

if(document.querySelector('input:focus')。length> 0){         //输入元素具有焦点     }

参考文献:

答案 2 :(得分:0)

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

标记

<input type="text" id="myEdit" />

脚本

   $('#myEdit').on('blur', function() {
      console.log(this.value);
    });

小提琴:http://jsfiddle.net/Saran/cqjHx/

或者,包含所有输入:http://jsfiddle.net/Saran/N86QG/