ASP.NET / HTML - 使用光标时的文本区域光标位置
Posted
技术标签:
【中文标题】ASP.NET / HTML - 使用光标时的文本区域光标位置【英文标题】:ASP.NET / HTML - textarea cursor position when using cursors 【发布时间】:2011-12-21 05:41:24 【问题描述】:在“现代”网络浏览器中,当用户在多行输入中按下向上和向下箭头键时,光标会上下移动。在第一行时,按向上箭头会使光标回到行首。这是 FF、Chrome 等中的标准行为。
在 IE7 中,情况有所不同。当光标位于第一行时,按向上箭头不会执行任何操作。光标还在原来的位置。
我希望所有浏览器中的 IE7 行为。我怎样才能做到这一点?提前致谢。
【问题讨论】:
【参考方案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,则将光标位置重置为最后一个记住的位置。然后为底部/向下部分编写类似的代码。
抱歉,我无法对其进行编程,但这样的事情应该可以工作。
【讨论】:
以上是关于ASP.NET / HTML - 使用光标时的文本区域光标位置的主要内容,如果未能解决你的问题,请参考以下文章
使用 Jquery 自动完成时的 IE11 内存泄漏 (asp.net)
怎样在ASP。NET里做到当鼠标放在文本框时立刻激发事件查询数据库