第二次没有触发jquery焦点

时间:2015-06-08 04:09:13

标签: javascript jquery html css iframe

我有一个输入字段,所以当我点击任何输入字段时,它会被聚焦。 当我点击外面时,它会集中注意力。

 <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');
        }
    }); 

JSFIDDLE

如果输入元素未聚焦,则此警报第一次调用。 每当我在输入元素外面点击时,我都需要它一直被调用。

更新:第二个问题

我在iframe中有一个输入字段,所以当我点击任何输入字段时,它会被聚焦。但是如果我点击外面(身体区域),iphone键盘也不会关闭。 iframe中只有iphone和ipad的问题。这在所有浏览器中都能很好地运行。所以,我尝试过没有焦点,称为 blur() document.activeelement 。但他们都没有工作。

如果没有聚焦输入元素,如何关闭ipad / iphone键盘?

2 个答案:

答案 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');
});

我无法帮助你解决第二个问题。