2015-08-27 56 views
-1

我有一個帶有輸入和textarea的表單,我想知道元素是否被聚焦。jQuery檢查一個元素是否集中

我試過的東西,如:

if($('input').is(':focus')){ 
    alert('ok') 
} 
else{ 
    alert('nok') 
} 

我只需要知道,如果我的網頁(輸入或文本域)上的元素都集中curently與否。

謝謝!

+1

這是不工作? [它似乎適用於我。](http://jsfiddle.net/4qvghw5a/) – Stryner

+0

你發佈的代碼應該可以工作 –

+0

@Clement Andraud:你已經遍歷頁面中的所有'輸入',然後只有你可以得到目前所關注的內容 – Antguider

回答

0
$(document).on('focus', 'input', function(){ 
    //do stuff 
}); 
0

這將是更好地使用事件這樣的:

$('input').on('focus', function(){ 
    // some code here 
}); 

$('textarea').on('focus', function(){ 
    // some code here 
}); 
0

您可以設置事件偵聽器的頁面加載時。當事件發生在任何這些元素上時,就會執行一些操作。

$(function() { 
 
    $('.focus').on('focusin', function() { 
 
     $('.output').val(this.tagName + ' HAS FOCUS'); 
 
    }) 
 
    .on('focusout', function(e) { 
 
     $('.focus:focus').length || $('.output').val('NO ELEMENT HAS FOCUS'); 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
NAME: <input type="text" class="focus" name="fullname"/><br> 
 
BIO: <textarea name="bio" class="focus"></textarea><br><br> 
 

 
STATUS: <input type="text" name="output" class="output" size="50" readonly="readonly" value="NO ELEMENT HAS FOCUS"/>

相關問題