假设有一个带有单个输入的文档.我想要做的就是这么简单:
$("input").focus().is(":focus");
Run Code Online (Sandbox Code Playgroud)
我希望上面的代码能够返回true.相反,firebug记录错误:
Syntax error, unrecognized expression: Syntax error, unrecognized expression: focus
Run Code Online (Sandbox Code Playgroud)
我在这里错过了什么?我假设使用的语法is()是相同的$(),或者我不能这样做?
如果这是不可修复的,你会如何建议检查焦点输入?
编辑:
从jquery 1.6开始,:focus选择器是jquery核心的一部分:http://api.jquery.com/focus-selector/
如果需要,只需升级即可.
您可以使用如下方法测试它是否是活动(聚焦)元素document.activeElement:
if($("input")[0] == document.activeElement) {
//first input is focused
}
Run Code Online (Sandbox Code Playgroud)
你可以在这里尝试一下.请注意,虽然大部分时间你的动作是在另一个元素上触发的,所以如果你单击一个按钮然后它会有焦点而现在是活动元素,所以你不能通过按钮检查来检查,因为元素已经在大多数情况下,在您的活动开始时更改.
| 归档时间: |
|
| 查看次数: |
7880 次 |
| 最近记录: |