Я использую этот собственный метод javascript в GWT для вставки текста в позицию курсора RichTextArea. Он работает иногда, но часто дает мне сообщение об ошибке: «refNode.insertData не является функцией Это, кажется, происходит всякий раз, когда курсор находится на пустую строкеВставить текст в позицию курсора, не используя пустые строки
public native void insertText(String text, int pos) /*-{
var elem = [email protected]::getElement()();
var refNode = elem.contentWindow.getSelection().getRangeAt(0).endContainer;
refNode.insertData(pos, text);
}-*/;
Так что мне нужно, чтобы отладить этот яваскрипт и Дон».. я знаю, с чего начать. Я знаю очень мало о javascript и получил только этот метод, который я использую из стека question. Я получаю позицию курсора из другого родного метода, который я скопировал из этого question.
Я читал, что эта ошибка связана с тем, что refNode не является правильным типом объекта. Я полагал, что кто-то знает, какой тип объекта он на самом деле и может мне помочь справиться с этой ситуацией.
Благодарим за отзыв. Однако это работает некорректно. Я выводил тип узла в предупреждении. Когда курсор находится в текстовых строках, я получаю nodeType = 3, это то, что обычно работает. На пустых строках nodeType = 1. Таким образом, вы можете изменить их. Я попытался изменить два блока if-else, и он работал немного лучше, только он вставил текст в конец текстовой области в nodeType: 1 строка. Я намного ближе, хотя спасибо. – Zip184