在配置了 TinyMce 编辑器和一些功能之后,我现在想要警告用户,如果他做了更改但没有保存它们。
因为我正在检查 Blur 的脏标志。但它总是设置false
。
控制器.js
this.$scope.tinymceOptions = {
selector: 'textarea',
menubar: false,
plugins: 'save',
save_enablewhendirty: true,
save_onsavecallback: (editor) => {
doing here my save stuff
},
setup: function(editor) {
editor.on('dirty', () => {
console.log('dirty woop')//if i do edits its triggered
})
editor.on('blur', function(e) {
console.log(tinyMCE.activeEditor.isDirty());//its triggered but after edits it says dirty=false
//wanna do here some warning output as info
});
editor.on('change', function(e) {
editor.setDirty(true);//seting dirty true if changes appear
console.log(tinyMCE.activeEditor.isDirty());//dirty output = true
});
},
height: 100,
width: 250,
toolbar1: ' undo redo | bold underline italic',
toolbar2: 'save'
};
如果我在更改后离开编辑器,为什么它总是设置为 false?
使用 TinyMce 4.4.x
Angular 1.5.x
Angular-ui-TinyMce 0.0.17
编辑
它似乎以某种方式在循环循环中的某处重置标志?如果我写了一些东西并等待超过 ~1 秒,它总是设置为 false。如果我写了一些东西并立即搬出,dirtyFlag
则设置为真。我如何通过写一些东西来设置标志脏并说等到它保存be always Dirty
?