如何确定光标位置是否位于textarea中使用JavaScript定义的行的起始位置?确定光标位置是否在textarea中定义的行的起始位置
回答
使用这里提供的答案:
Caret position in textarea, in characters from the start
您可以在文本光标位置得到补偿。完成之后,您可以在偏移量之前计算<textarea>
文本中出现的换行符,以确定您所在的行。如果偏移量刚好在换行符之后,那么你就在行的开始位置。使用这两种方法,您应该能够确定您是否处于特定行的开始位置。例如:
var offset = getCaret('mytextarea');
var text = document.getElementById('mytextarea').value;
var line_number = 1;
var i;
for (i = 0; i < offset; i++) {
if (text[i] == '\n') {
line_number++;
}
}
if (!i || text[i-1] == '\n') {
// You're at the start of a line
}
注:IE可能会使用回车(\ r)为好,所以你可能要考虑这些。
您可以使用一个或多个on事件的组合:onchange
,onkeyup
,onkeydown
,onkeypress
。
为您的总体目标提供一些细节。
'onchange'只会在输入控件失去焦点时触发*并且*自获得焦点后其值已被修改。 http://www.w3.org/TR/REC-html40/interact/scripts.html#adef-onchange – 2010-07-03 16:48:26
在OP中没有额外的规范,我提供了选项。谁知道事件可能会有所帮助。 – 2010-07-03 16:55:37
好的,我可以使用onkeydown,但如何检查? – lam3r4370 2010-07-03 16:58:12
- 1. 如何确定UITextField的光标位置?
- 2. 光标和光标的锁定位置
- 3. 确定光标位置是否在屏幕的特定区域中
- 4. 从特定光标位置开始RecyclerView
- 5. 在AngularJs中获取Textarea光标位置
- 6. 找到重定位的起始位置
- 7. 自定义键盘集光标位置
- 8. C#自定义控件光标位置
- 9. 确定textarea是哪一行的光标
- 10. 在自定义edittext中设置光标位置
- 11. 光标未放置在textarea中点击的位置
- 12. 更改光标在展开的EditText中的起始位置
- 13. Selenium确认光标位置
- 14. 是否可以从特定的光标位置键入文本?
- 15. 确定表格在Word文档中的起始位置
- 16. 多个EditText - 指定光标的位置
- 17. 确定定义bash函数的位置
- 18. 确定UNIX别名的定义位置
- 19. 在光标位置
- 20. 如何确定textarea光标相对于x,y窗口的位置?
- 21. 光标位置
- 22. 如何在textarea内的光标位置放置下拉菜单?
- 23. ASP.NET/HTML - 使用光标时的textarea光标位置
- 24. 如何在textarea中设置光标位置top
- 25. 如何确定Windows中的文本光标位置
- 26. uitextfield中的光标位置
- 27. EditText中的光标位置
- 28. 自定义调整大小鼠标位置不同,然后光标位置
- 29. 如何确定鼠标光标是否位于控件中
- 30. postgres是否支持在串行定义中设置起始值?
可能的重复:http://stackoverflow.com/questions/263743/how-to-get-cursor-position-in-textarea – 2010-07-03 16:48:02
不能;)他想要得到textarea中的光标位置,我 - 确定是否游标在定义的行上开始(例如3) – lam3r4370 2010-07-03 16:54:13