How would I find if a textbox (or textarea) currently is in focus? I don't care to know which one it is, I just need to know if one is in focus (has the cursor in it). How would I do this with javascript and jquery?
activeElement , you can check its nodeName. if (document. activeElement. nodeName == 'TEXTAREA' || document.
Use setFocus() method of textbox to know the textbox is focused or not.
How do you know if a textbox has focused? The hasFocus() method returns a true if the document (or any element in the document) has focus.
Since you have found document.activeElement
, you can check its nodeName.
if (document.activeElement.nodeName == 'TEXTAREA' || document.activeElement.nodeName == 'INPUT') {
// ....
}
Something like that.
Ok, just figured it out. Here's what I did:
function checkFocus() {
if ($(document.activeElement).attr("type") == "text" || $(document.activeElement).attr("type") == "textarea") {
//Something's selected
return true;
}
}
Extending the accepted answer by a check for editable HTMLDivElements:
if (document.activeElement.nodeName == 'TEXTAREA'
|| document.activeElement.nodeName == 'INPUT'
|| (document.activeElement.nodeName == 'DIV'
&& document.activeElement.isContentEditable)) {
// …
}
$('#yourTextAreaID:focus');
would not work. :) But
$('#yourTextAreaID').focus(function(){
// do something
});
would excecute the //do something
code when the element receives focus.
$('#target').focus(function() {
alert('Handler for .focus() called.');
});
Also Try:
alert($("*:focus").attr("id"));
http://jsfiddle.net/4KVvV/
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With