目前我的 javascript 编写如下,但是,脚本存在一个问题,我正在尝试修复......当光标专注于 id 为“proxid”的输入类型文本时,它仍然会获取值打字。
我只希望它在输入中未选择光标时获取值。
$(document).keypress(function(event) {
switch(event.which){
//stuff
}
}
如何检查光标是否聚焦在输入框上?
目前我的 javascript 编写如下,但是,脚本存在一个问题,我正在尝试修复......当光标专注于 id 为“proxid”的输入类型文本时,它仍然会获取值打字。
我只希望它在输入中未选择光标时获取值。
$(document).keypress(function(event) {
switch(event.which){
//stuff
}
}
如何检查光标是否聚焦在输入框上?
您可以使用:focus选择器检查光标当前是否在输入上。
$('input').is(':focus');
所以在你的代码中,你可以这样做:
$(document).keypress(function(event) {
if(!$('#myInput').is(':focus'))
{
//Run Code here when input is not focused.
}
});
演示:http: //jsfiddle.net/afw3L/
您可以检查以下tagName
内容document.activeElement
:
if (document.activeElement.tagName.toLowerCase() === 'input') {
// an input element has focus
}
或者:
if (document.querySelector('input:focus').length > 0) { // 输入元素有焦点 }
参考:
最好对焦点的改变做出反应:
标记
<input type="text" id="myEdit" />
脚本
$('#myEdit').on('blur', function() {
console.log(this.value);
});
小提琴:http: //jsfiddle.net/Saran/cqjHx/
或者,包含所有输入:http: //jsfiddle.net/Saran/N86QG/