我使用quilljs来允许用户编辑文本的某一部分。但是,我希望仅在用户单击编辑按钮时才会触发编辑器。出于某种原因,编辑按钮需要2次单击才能执行该事件。我错过了什么吗?
<button id="edit" class="button" data-edit="dormant">Edit</button>
var quill = new Quill('#editor',
{
theme: 'snow',
readOnly: true,
});
$(edit).click(function () {
if (edit.data('edit') == 'dormant') {
edit.data('edit', 'active');
edit.text('Save');
quill.enable();
} else {
edit.data('edit', 'dormant');
edit.text('Edit');
quill.disable();
}
});
答案 0 :(得分:1)
你需要停止事件传播,这样,当点击时,它会杀死事件。
$(edit).click(function (event) {
event.stopPropagation()
if (edit.data('edit') == 'dormant') {
edit.data('edit', 'active');
edit.text('Save');
quill.enable();
} else {
edit.data('edit', 'dormant');
edit.text('Edit');
quill.disable();
}
});
了解有关此主题的更多信息