如果光标焦点不在文本字段中,我正在尝试制作一个 Safari 扩展程序。但是,以下用于检测焦点是否不在文本字段中的代码不起作用。
if ($(document.activeElement).attr("type") != "text"
&& $(document.activeElement).attr("type") != "textarea") {
..do something
}
如果光标焦点不在文本字段中,我正在尝试制作一个 Safari 扩展程序。但是,以下用于检测焦点是否不在文本字段中的代码不起作用。
if ($(document.activeElement).attr("type") != "text"
&& $(document.activeElement).attr("type") != "textarea") {
..do something
}
保持简单:
var el = document.activeElement;
if (el && (el.tagName.toLowerCase() == 'input' && el.type == 'text' ||
el.tagName.toLowerCase() == 'textarea')) {
// focused element is a text input or textarea
}
您可以使用 jquery 来实现这一点
$('input[type="text"]').focus(function() {
alert('Focused');
});
$("input[type=text]").filter(":not(:focus)").css("background","#ff0000");
$("input[type=text]").focus(function(){
$(this).css("background","#ffffff");
});
$("input[type=text]").blur(function(){
$(this).css("background","#ff0000");
});
应将所有非活动输入的背景设置为红色。(在 Chrome 18 中工作)