【发布时间】:2014-07-29 15:24:20
【问题描述】:
我一直在尝试仅选择 ContentEditable 元素的最后一个字符
我在 http://jsfiddle.net/mh7HK/ 上使用了来自 Mozilla 的示例,该示例适用于 input 字段,但不适用于 ContentEditable 字段,但选择所有是否有效
这行得通:
var elem = document.getElementById("contentEdit");
var range = document.createRange();
range.selectNodeContents(elem);
var sel = window.getSelection();
sel.removeAllRanges();
sel.addRange(range);
这不是:
var elem = document.getElementById("contentEdit");
var range = document.createRange();
range.setStart(elem, 5) // breaks range Object?
range.setEnd(elem, 8) // breaks range Object?
range.selectNodeContents(elem);
var sel = window.getSelection();
sel.removeAllRanges();
sel.addRange(range);
.setStart() 和 .setEnd() 应该这样工作,对吧?
我查看了jQuery carrot、jQuery selection、Rangy 等的有限文档,但它们似乎都旨在获取选择而不是设置 它。
【问题讨论】:
标签: javascript selection contenteditable