可编辑div的createRange()
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | // 在元素的指定位置设置输入光标 (注:目前只支持开始位置和结束位置) function __setCaret(element, pos) { try { element.focus(); } catch (e) { } var len = __innerText(element).length; // pos小于0或大于文本长度,则设置光标在输入区域末尾 pos = pos < 0 ? len : pos > len ? len : pos; if (document.selection) // ie { var rang = document.body.createTextRange(); rang.moveToElementText(element); rang.collapse(pos == 0); rang.select(); } else if (window.getSelection) // ff { var sel = window.getSelection(); var range = document.createRange(); range.selectNodeContents(element); range.collapse(pos == 0); sel.removeAllRanges(); sel.addRange(range); } } |