我有一个带输入和textarea的表单,我想知道一个元素是否被聚焦。
我尝试了类似的东西:
if($('input').is(':focus')){
alert('ok')
}
else{
alert('nok')
}
我只需要知道我的页面上的元素(输入或文本区域)是否是非常集中的。
谢谢!
答案 0 :(得分:0)
$(document).on('focus', 'input', function(){
//do stuff
});
答案 1 :(得分:0)
最好使用事件:
$('input').on('focus', function(){
// some code here
});
$('textarea').on('focus', function(){
// some code here
});
答案 2 :(得分: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"/>