Я пытаюсь использовать атрибуты selectionStart и selectionEnd для textarea, чтобы они работали с элементом div contenteditable. Я проверил множество связанных статей в google и на SO, но безрезультатно. У меня есть что-то похожее на следующее, которое отлично работает для textarea. Но я хочу, чтобы это работало с довольным div.
function replaceVal(node, val, step){
//...
var cursorLoc = node.selectionStart;
node.value = node.value.substring(0, node.selectionStart - step) + value +
node.value.substring(node.selectionEnd, node.value.length);
node.scrollTop = scrollTop;
node.selectionStart = cursorLoc + value.length - step;
node.selectionEnd = cursorLoc + value.length - step;
//...
}
Как это можно изменить так, чтобы он работал с contenteditable элементом div вместо textarea?