2015-08-27 2 views
-1

У меня есть форма с input и textarea, и я хочу знать, сфокусирован ли элемент.jQuery проверить, если элемент сфокусирован

Я пытался что-то вроде:

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

Мне просто нужно знать, если элемент на моей странице (вход или TEXTAREA) являются 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"/>

Смежные вопросы