ASP.NET / HTML - 使用光标时文本区域光标位置

发布于 2024-12-13 18:23:32 字数 189 浏览 0 评论 0原文

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

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

我希望所有浏览器都支持 IE7 行为。我怎样才能实现这个目标?提前致谢。

In "modern" web browsers, when users press the up- and down-arrow keys in multi-line inputs, the cursor moves up and down. When on first line, pressing the up-arrow makes the cursor back to the begin of the line. That's standard behavior in FF, Chrome and so on.

In IE7, it's different. When the cursor is on first line, pressing the up-arrow does nothing. The cursor is still in the same position.

I want IE7 behavior in all browsers. How can I achieve this? Thanks in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

弥枳 2024-12-20 18:23:32

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

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

首先,您可以

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

使用 jQuery 捕获文本区域中的 keydown 事件,同时使用检查它是向上箭头

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

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

抱歉,我无法对其进行编程,但类似的东西应该可以工作。

This will mean quite a bit of work and adjusting, but you may be able to use jQuery Caret, a jQuery plug-in.

You can use it to get as well as set your cursor position.

First of all, you can catch the keydown event in your textarea

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

with jQuery while checking it's the up arrow using

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

Then you should use Caret to write code that 1. remembers the last cursor position, and 2. if the arrow up key is hit and the resulting position is 0, you reset the cursor position to the last remembered one. And then write similar code for the bottom/down part.

Sorry I can't program it out, but something like this should work.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文