return focus to contenteditable after execCommand?

前端 未结 5 1777
臣服心动
臣服心动 2021-02-04 08:56

I have the following code demonstrating contenteditable property and a button that will inject bold text into the paragraph with contenteditable area. My question is how to retu

5条回答
  •  轻奢々
    轻奢々 (楼主)
    2021-02-04 09:26

    You can just use the jQuery .focus() function to focus it. This should work:

    var current;
    $(function(){
        $("p[contenteditable]").focus(function() {
            current = this;
        });
    
        $('#bold').click(function (){
                document.execCommand('bold', false, true);
                $(current).focus();
        });
    });
    

    This just keeps track of the currently editing field every time it is focused by the user, and when the bold button is clicked focus is set back to that field.

提交回复
热议问题