我正在使用quilljs允许用户编辑文本的特定部分。但是我希望仅在用户单击编辑按钮时才触发编辑器。由于某种原因,编辑按钮需要单击两次才能执行该事件。我有什么想念的吗?
<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();
}
});
最佳答案
您需要停止事件传播,这样,单击时将终止事件。
$(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();
}
});
您可以在此处https://api.jquery.com/event.stoppropagation/了解更多有关此主题的信息