Bri*_*unt 7 html javascript jquery dom textarea
鉴于textarea的内容是这样的
–––––––––––––––––––––––––– | This is some text, which | | wraps like this. | ––––––––––––––––––––––––––
如何判断文本光标是否位于textarea的第一行?
显然,\n
如果想要查看光标是否出现在第一个换行符之前,检查换行符()是否有效,但测试"软"换行符似乎更具挑战性.
我还没有提出一个策略,但我怀疑它可能涉及复制文本直到光标位置进入克隆的textarea(或div),并且只要需要它就使宽度变宽,这样它就不会包装.如果克隆区域的宽度小于原始宽度,则光标似乎必须位于第一行.可能有一个更简单的选择,更优雅的东西,或(最重要的)现有的,经过良好测试的解决方案.
目标浏览器是Webkit(Chrome/Safari)和Firefox.即IE兼容性在这个时候不是一个问题(如果这有任何区别).
谢谢阅读.
falsarella给出了一个很好的答案,突出了问题的模糊性.我想要的是文本光标("插入符号"可能是一个更好的词)是否在第一行.我已经更新了问题和jsFiddle来反映.
15 是行高,这样可以工作(在 Firefox 中测试):
$("textarea").click(function (evt) {
cursor_position = evt.pageY - $('textarea').offset().top;
if (cursor_position <= 15) {
alert("first line");
} else {
alert("other line");
}
});
Run Code Online (Sandbox Code Playgroud)
学分:
归档时间: |
|
查看次数: |
1486 次 |
最近记录: |