Я пытаюсь реализовать основные функции редактирования текста RichTextEditable в Meteor, и у меня возникла проблема с execCommand. Команды отмены и повтора работают нормально, но любая другая команда, такая как полужирный и курсив, не работает и не выдаёт никаких ошибок. Код также отлично работал как обычная страница (я сделал очевидную адаптацию для Meteor, такую как шаблоны и события).ExecCommand in Meteor не работает
Мой HTML:
<body>
{{> buttons}}
<div id="editor" class="textZone" contenteditable="true"></div>
</body>
<template name="buttons">
<div id="rtfOptions">
<div class="separate">
<div class="rtfOption" id="undo">undo</div>
<div class="rtfOption" id="redo">redo</div>
</div>
<div class="separate">
<div class="rtfOption" id="bold">bold</div>
<div class="rtfOption" id="italic">italic</div>
</div>
</div>
</template>
Мои события (. Только 2 нерабочих + откат транзакции, как он работает, как для остальных его довольно много же):
if (Meteor.isClient) {
Template.buttons.events({
"click #bold": function() { // Toggles bold on/off for the selection or at the insertion point
document.execCommand("bold", false, "null");
},
"click #italic": function() { // Toggles italics on/off for the selection or at the insertion point
document.execCommand("italic", false, "null");
},
"click #undo": function() { // Undoes the last executed command.
document.execCommand('undo', false, "null");
}
)};
}
Кто-то знать, вопрос? Имеет ли он какое-то отношение к документу или сфере действия?
' "нулевой"' неправильно. Это должно быть просто «null» без кавычек. Однако я не уверен, что это будет иметь значение. Ваш редактор использует iframe для содержимого редактора? –
Нет, это не имеет никакого значения. У меня было это как раз до нуля, и я просто тестировал, было ли это из-за моего линта. Я не использую iframe, и я специально не хочу этого делать. – mesosteros
OK. Нет очевидной причины, по которой это не сработает. –