如何確定光標位置是否位於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