入力の配列内の特定の入力がフォーカスされているかどうかをテストしようとしています。私の例では、インデックス[x-1]を持つ入力がフォーカスされているかどうかを確認して、イベントをトリガーできるようにします。
if($('.App input')[x - 1].is(":focused")){
alert('hello');
}
複数の方法を試しましたが、この例ではイベントをトリガーできません。ブラウザーのコンソールでこの例外が発生しています。
Uncaught TypeError:(0、_jquery2.default)(...)[(x-1)]。isは関数ではありません
あなたは使用する必要があります$($('.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'/>
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加