我正在尝试测试输入数组中的特定输入是否集中。 在我的示例中,我想检查索引为[x-1]的输入是否集中,以便触发事件:
if($('.App input')[x - 1].is(":focused")){
alert('hello');
}
我尝试了多种方法,但无法触发事件 在这个示例中,我在浏览器的控制台中遇到了例外情况
未捕获的TypeError:(0,_jquery2.default)(...)[(x-1)]。不是函数
答案 0 :(得分:0)
您需要使用$($('.App input')[x - 1])
以便将$('.App input')[x - 1]
视为jQuery对象并可以应用is
函数。另外,请注意,选择器是:focus
而不是:focused
。
if($($('.App input')[x - 1]).is(":focus")){
alert('hello');
}
您也可以将eq()
用作
if($('.App input').eq(x - 1).is(":focus")){
alert('hello');
}
这是一个简单的例子:
$(document).ready(function(){
var x=2;
setTimeout(function(){
if($('.App input').eq(x - 1).is(":focus")){
alert('hello');
}
},1000);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class='App'>
<input type='text'/>
<input type='text' autofocus/>
<input type='text'/>