【问题标题】: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,则将光标位置重置为最后一个记住的位置。然后为底部/向下部分编写类似的代码。
抱歉,我无法对其进行编程,但这样的事情应该可以工作。