我有一个包含表单的分区(<div>),如果任何<input>有焦点,我想找出使用jQuery,如果没有,我想要调用一个函数.
这样做的最佳方式是什么?
div/form结构的粗略概念.
<div id="section1">
<form ...>
<input type="text" id="v1">
<input type="text" id="v2">
<input type="text" id="v3">
<input type="text" id="v4">
<input type="checkbox">
</form>
</div>
Run Code Online (Sandbox Code Playgroud)
谢谢.
选择输入元素并过滤掉焦点输入元素:
$("#section1 input").filter(":focus")
Run Code Online (Sandbox Code Playgroud)
应为空,然后没有任何元素具有焦点.实际上,您有几种不同的选择方式来实现相同的结果.
if ($("#section1 input:focus").length === 0){
callYourFunction();
}
Run Code Online (Sandbox Code Playgroud)
因为0是一个假值,上面的if条件实际上是相同的,如:
if ( !$("#section1 input:focus").length )
Run Code Online (Sandbox Code Playgroud)
请注意,并不总是建议以这种方式检查虚假值.如果你用"正常"(第一种)方式写它,它通常会更好,更明显,更不容易出错.
| 归档时间: |
|
| 查看次数: |
173 次 |
| 最近记录: |