將遊標移到Contenteditable 實體的末尾
曾經遇到需要將遊標定位到contenteditable 元素的末尾的情況,類似於Gmail 筆記小工具中的功能?
解決方案
對於可內容編輯的元素,Geowa4 的解決方案不適用。需要量身訂製的方法:
function setEndOfContenteditable(contentEditableElement) { var range, selection; if (document.createRange) { // Modern browsers range = document.createRange(); range.selectNodeContents(contentEditableElement); range.collapse(false); selection = window.getSelection(); selection.removeAllRanges(); selection.addRange(range); } else if (document.selection) { // IE 8 and below range = document.body.createTextRange(); range.moveToElementText(contentEditableElement); range.collapse(false); range.select(); } }
要使用它,只需按照程式碼範例操作:
var elem = document.getElementById("txt1"); setEndOfContenteditable(elem);
相容性
此解決方案是相容於所有支援contenteditable 的主流瀏覽器。
以上是如何將遊標移到 ContentEditable 元素的末端?的詳細內容。更多資訊請關注PHP中文網其他相關文章!