我認爲這個問題很簡單,但我一直無法弄清楚。我使用更簡單的解決方案在Get caret position in contentEditable div的可用div中獲得了插入符號的位置,從而達到了停止點。我一直試圖獲得插入位置的行號,並且我已經完成了很多邏輯,但是因爲它處理一行的結尾與處理下一行的開始相同,所以已經證明幾乎不可能。使用瘦長庫獲取準確插入符位置在CONTENTEDITABLE DIV
因此,我一直試圖使用rangy庫來獲得插入位置,希望它適當地處理行的末尾(計算一行的結束爲小於下一個的開始),但我還沒有弄清楚如何讓它按照我想要的方式工作。我的代碼如下所示:
var sel = rangy.getSelection();
var range = sel.getRangeAt(0);
var cursorPos = sel.focusOffset;
看來,當我按回車鍵進入到一個新行(位置遞增1),但在此之後的caretPos再次在0在每行的開頭開始工作。有沒有辦法得到一個整體的光標位置,佔新行?要清楚的是,我並不是要求如何從粗線條得到線號,而只是插入點的位置。
謝謝,對不起,如果我失去了一些東西明顯。
對不起,我應該已經明確。我已經有了從插入符號/光標位置到行號的邏輯(它涉及從開始到插入位置的新行數。)我只需要一個更準確的插入位置,我希望可以聽到提供。這就是我想要從粗俗的位置得到的,而不是行號。是否有可能在不知道每一行都重新開始的可以理解的div中插入位置? – LiamD
我編輯了我的答案。 – Louis
嗯,沒關係。所以你說Rangy沒有辦法解決換行問題?因此,我發佈的代碼是一種正確的方式,可以在適合的div中獲得插入符號的位置(忽略線條問題)嗎? – LiamD