【问题标题】:Positioning cursor in specific locations in a textbox将光标定位在文本框中的特定位置
【发布时间】:2014-07-30 22:11:40
【问题描述】:

我正在使用 C# 和 .net 创建一个网站,并且正在寻找特定的功能。我有一个按钮和一个文本框。在按钮 onclick 上,文本框获得焦点,并且今天的日期被添加到顶部。然后,用户可以在文本框中添加注释并保存。现在,在创建第一个 not 几天后,用户再次单击该按钮。新的今天日期被添加到顶部,旧日期/注释向下移动一行。我要做的是将光标定位在当前日期之后但在旧日期/注释之前,这样用户就不必自己单击该位置。

我已经能够将光标放在文本框的末尾,但不是在第 12 位或第 2 行。这可能吗?

【问题讨论】:

标签: c# asp.net webforms


【解决方案1】:

这将帮助您移动光标并将焦点放在文本框中的第 n 个字符上。 如果您有以下文本框和按钮元素:

<div>
    <input type="text" id ="txtTest" name="txtText" class="col-md-4"/>
    <input type="button" id="btnTest" value="Focus on textbox"/>
</div>

单击按钮时,以下内容会将光标移动到文本框中的第 n 个字符。

<script>
    $("#btnTest").on("click", function () {
        var positionToPlaceCursor = 3;// as an example
        $.fn.setCursorPosition = function (pos) {
            this.each(function (index, elem) {
                if (elem.setSelectionRange) {
                    elem.setSelectionRange(pos, pos);
                } else if (elem.createTextRange) {
                    var range = elem.createTextRange();
                    range.collapse(true);
                    range.moveEnd('character', pos);
                    range.moveStart('character', pos);
                    range.select();
                }
            });
            return this;
        };

        $("#txtTest").setCursorPosition(positionToPlaceCursor);
    });

</script>

我在这里找到它:http://www.sitepoint.com/jqueryhtml5-input-focus-cursor-positions/

希望对你有帮助 编码愉快!

【讨论】:

    【解决方案2】:

    我很难仅根据描述来设想您要完成的工作。如果您有一个包含按降序排列的日期的文本框输入的有序列表,您是否只想将焦点放在最近日期的相应文本框上?如果是这样,我可能会在页面加载时使用 javascript(此示例使用 jQuery,但您也可以使用 vanilla JS 做类似的事情):

    <script type="text/javascript">
        $(document).ready(function(){
            $(".myDateInputClass")[0].focus();
        }
    </script>
    

    【讨论】:

      猜你喜欢
      • 2015-04-08
      • 2013-07-25
      • 1970-01-01
      • 2013-05-25
      • 1970-01-01
      • 1970-01-01
      • 2011-07-02
      相关资源
      最近更新 更多