在JavaScript中获取具有光标(插入符号)的文本输入元素

时间:2011-03-11 07:59:38

标签: javascript

如何获取插入符号的文本元素(或其id)?

4 个答案:

答案 0 :(得分:3)

编辑:猜猜,我完全误解了“插入符号”这个词,因为它代表“光标”在这个背景下...而不是母语。如果有人寻找一种方法来找到其值中带有“^”字符的输入:

尝试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);
    }
}

它遍历所有“输入”元素并过滤掉其值中某个插入符号的元素。 “ids”拥有那些ID。

答案 1 :(得分:3)

document.activeElement会在大多数浏览器中为您提供此功能。

答案 2 :(得分:0)

如果您的意思是如何让文本框具有焦点,那么答案就是您不能。

您可以编写脚本以“onfocus”事件,并将最后一个焦点字段记录在某个变量中。 您还必须使用“onblur”事件来清除最后聚焦的字段变量。

HTH

Ivo Stoykov

答案 3 :(得分:0)

例如:

var elementWithFocus;

function updateFocus(callingElement)
{
    elementWithFocus = callingElement;
}

然后在你的输入中:

<input onfocus="updateFocus(this);" onblur="updateFocus(null);"></input>

使用它on jsfidle