我正在使用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/了解更多有关此主题的信息

07-24 18:55
查看更多