【问题标题】:Get text input element having cursor (caret) in JavaScript在 JavaScript 中获取具有光标(插入符号)的文本输入元素
【发布时间】:2011-07-13 07:48:56
【问题描述】:

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

【问题讨论】:

标签: javascript


【解决方案1】:

如果你的意思是如何让文本框获得焦点,答案是你不能。

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

HTH

伊沃·斯托伊科夫

【讨论】:

  • 如何判断哪个html页面元素有焦点?
【解决方案2】:

编辑:猜猜,我完全误解了“插入符号”这个词,因为它在这种情况下代表“光标”......不是母语人士。如果有人想办法找到值中包含“^”字符的输入:

试试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。

【讨论】:

    【解决方案3】:

    例如:

    var elementWithFocus;
    
    function updateFocus(callingElement)
    {
        elementWithFocus = callingElement;
    }
    

    然后在您的输入中:

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

    试一试on jsfidle。

    【讨论】:

      【解决方案4】:

      document.activeElement 在大多数浏览器中都会给你这个。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-04-20
        • 1970-01-01
        • 2010-12-21
        • 1970-01-01
        • 2010-11-15
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多