【问题标题】:ASP.NET / HTML - textarea cursor position when using cursorsASP.NET / HTML - 使用光标时的文本区域光标位置
【发布时间】:2011-12-21 05:41:24
【问题描述】:

在“现代”网络浏览器中,当用户在多行输入中按下向上和向下箭头键时,光标会上下移动。在第一行时,按向上箭头会使光标回到行首。这是 FF、Chrome 等中的标准行为。

在 IE7 中,情况有所不同。当光标位于第一行时,按向上箭头不会执行任何操作。光标还在原来的位置。

我希望所有浏览器中的 IE7 行为。我怎样才能做到这一点?提前致谢。

【问题讨论】:

    标签: html asp.net keyboard cursor textarea


    【解决方案1】:

    这将意味着相当多的工作和调整,但您也许可以使用jQuery Caret,一个 jQuery 插件。

    您可以使用它来获取和设置您的光标位置。

    首先,你可以在你的 textarea 中捕捉 keydown 事件

    <textarea id="myTextArea" value="some text" ></textarea>
    

    使用 jQuery 来检查它是使用向上箭头

    $("#myTextArea").bind("keydown", function(e) {
        var code = e.keyCode || e.which;
        if(code == 38) { // Arrow up
            .... code here ....
        }
    });
    

    然后您应该使用 Caret 编写代码,1. 记住最后一个光标位置,以及 2. 如果按下向上箭头键并且结果位置为 0,则将光标位置重置为最后一个记住的位置。然后为底部/向下部分编写类似的代码。

    抱歉,我无法对其进行编程,但这样的事情应该可以工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-02
      • 2010-09-25
      • 2016-04-30
      • 1970-01-01
      • 2023-03-15
      • 2011-10-21
      • 1970-01-01
      相关资源
      最近更新 更多