Я использовал, чтобы иметь такой код:Как вставить в положении каретки contenteditable с помощью машинопись
this.insertNodeAtCaret = function(node) {
var sel, range, html;
function containerIsEditable(selection) {
return $(selection.anchorNode).parent().hasClass("editable");
}
if (window.getSelection) {
sel = window.getSelection();
// only if it is a caret otherwise it inserts
// anywhere!
if (containerIsEditable(sel) && sel.getRangeAt
&& sel.rangeCount) {
var previousPosition = sel.getRangeAt(0).startOffset;
sel.getRangeAt(0).insertNode(node);
}
}
else if (document.selection
&& document.selection.createRange) {
range = document.selection.createRange();
html = (node.nodeType == 3) ? node.data
: node.outerHTML;
range.pasteHTML(html);
}
};
но в 1.5 Выбор машинопись был удален из документа (https://github.com/Microsoft/TypeScript/wiki/Breaking-Changes), так что я не знаю, как получить это работает .. Я попытался с window.getSelection(), но без результатов
Любая помощь будет оценена :)
Спасибо, Майкл
Спасибо. Другой способ, который сделает его совместимым со всеми браузерами? –
Требуется поддержка времени выполнения. Это означает, что вы должны иметь функцию выполнения. Параметры - 'polyfill' ИЛИ' shim'. То, что у вас есть, - это прокладка и ее достаточно хорошее. – basarat
Как я могу видеть совместимость между браузерами и доступными? Спасибо –