Get text input element having cursor (caret) in JavaScript
How to 开发者_如何学编程Get the text element (or its id) in which there is caret?
document.activeElement
will give you this in most browsers.
Edit: Guess, I completely misunderstood the word "caret" as it stands for "cursor" in this context... not a native speaker. In case someone looks for a way to find the input which has the "^" character in its value:
Try this plain JavaScript code on jsfiddle:
var inputs = document.getElementsByTagName("input");
var ids = [];
for(var i = 0; i < inputs.length; i++) {
if(inputs[i].value.match(/.*\^.*/)) {
ids.push(inputs[i].id);
}
}
It goes through all "input" elements and filters out those with a caret somewhere in their value. "ids" holds those ids.
if you mean how to get text box having focus the answer is you can't.
You could script to "onfocus" event, and record the last-focused field in a variable somewhere. You also have to use "onblur" event to clear last-focused field variable.
HTH
Ivo Stoykov
For example:
var elementWithFocus;
function updateFocus(callingElement)
{
elementWithFocus = callingElement;
}
Then in your inputs:
<input onfocus="updateFocus(this);" onblur="updateFocus(null);"></input>
Play around with it on jsfidle.
精彩评论