我有一个输入字段,所以当我点击任何输入字段时,它会被聚焦。 当我点击外面时,它会集中注意力。
<input type="text" id="english" name="english"/>
input:active,input:focus{
border: 2px solid red;
}
$(document).ready(function() {
if (!($("input").is(":focus"))) {
alert('not focused');
}
});
如果输入元素未聚焦,则此警报第一次调用。 每当我在输入元素外面点击时,我都需要它一直被调用。
更新:第二个问题
我在iframe中有一个输入字段,所以当我点击任何输入字段时,它会被聚焦。但是如果我点击外面(身体区域),iphone键盘也不会关闭。 iframe中只有iphone和ipad的问题。这在所有浏览器中都能很好地运行。所以,我尝试过没有焦点,称为 blur()
或 document.activeelement
。但他们都没有工作。
如果没有聚焦输入元素,如何关闭ipad / iphone键盘?
答案 0 :(得分:3)
你没有收听任何事件,它不会继续检查。您需要添加一个事件侦听器,用于侦听任何输入上的blur事件。
答案 1 :(得分:1)
epascarello说的是正确的。 {DOM}加载完成后,if
函数中的ready
语句只会触发一次。
由于您使用的是jQuery,因此您正在尝试做的事情非常简单。
<input type="text" id="english" name="english"/>
input:active,input:focus{
border: 2px solid red;
}
然后是您的JavaScript代码:
$( "input" ).focusout(function() {
alert('not focused');
});
我无法帮助你解决第二个问题。