Неправильный «этот» контекст в моей функции redoJavascript

Форум по Javascript
Ответить
Anonymous
 Неправильный «этот» контекст в моей функции redo

Сообщение Anonymous »

Этот вопрос о контексте из this
Код:

Код: Выделить всё

var cutPaste = (e) => {

const undoObj = {};
undoObj.dest = X.getLastFocusOwner();
undoObj.tag = tag;
undoObj.clipElem = X.clipElem;
undoObj.redo = () => {
X.enableUndoObserver(false);
var canInsert = Sections.canInsertInto(undoObj.tag, undoObj.clipElem.tagName);
var canAppendTo = Sections.canAppendTo(undoObj.tag, undoObj.clipElem.tagName);
if (!canInsert && !canAppendTo) return;
if (!canAppendTo && canInsert) {
this.dest.appendChild(undoObj.clipElem);

...
В последней строке в коде, который я опубликовал выше, контекст этого - это кнопка Undo/redo, которая была нажата, а не объект undoobj. Я надеялся, что кто -то может объяснить, почему. < /P>
Кстати, я изменил эту строку на < /p>
undoObj.dest.appendChild(undoObj.clipElem);
< /code>
И это сработало. Поэтому весь мой вопрос заключается в том, что, учитывая, что функция принадлежит объекту, я подумал, что это будет контекст

Подробнее здесь: https://stackoverflow.com/questions/795 ... o-function
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»