Uncaught TypeError: Невозможно прочитать свойство 'createDocumentFragment' из неопределенного (используя wysiwyg)
Вот мой JQuery:
$(".wysiwygtext").on("keyup keypress paste mouseup", function (e, t) {
clearTimeout(timeout);
timeout = setTimeout(function (e, t) {
var element = $(this).html(); //throws 'Uncaught TypeError: Cannot read property 'createDocumentFragment' of undefined'
var value = $(this).val(); //throws 'Uncaught TypeError: Cannot read property 'toLowerCase' of undefined' error
console.log(element);
console.log(value);
}, 2000);
});
.wysiwyg
это класс, применяемый к определенным элементам div, например, так (html генерируется с сервера):
<div class='wysiwygtext' data-guid='" + statementGuid + "' value='" + statementGuid + "'>" + lastbody + "</div>
Мне просто нужно извлечь содержимое div (html) и значение (или ID) div при любом изменении текста, но я получаю эту ошибку:
Uncaught TypeError: Невозможно прочитать свойство 'createDocumentFragment' из неопределенного
Спасибо за любую помощь.
1 ответ
По сути, это была куча undefined
Рекомендации. Вот как я решил это:
var timeout = null;
$(".wysiwygtext").on("keyup keypress paste mouseup", function (e, t) {
clearTimeout(timeout);
var element = $(this).html();
var value = $(this).val();
timeout = setTimeout(function (e, t) {
console.log(element);
console.log(value);
}, 2000);
});
Я определил timeout
вне функции, как clearTimeout(timeout);
бросал timeout is undefined
ошибка. Далее я определил element
а также value
вне тайм-аута, как $(this).html()
а также $(this).val()
не ссылались на правильную вещь. Наконец, я продолжал console.log(element)
а также colsole.log(value)
внутри тайм-аута, поэтому они будут регистрироваться через 2 секунды после одного из вышеуказанных событий.