如何向后移动光标

时间:2017-01-18 09:50:42

标签: javascript jquery summernote

当我按Enter键时,光标位于<mark>This的开头。我想把光标放在<p>Hi的开头。我怎样才能用jQuery实现这个目标?

&#13;
&#13;
<div id="summernote" contenteditable="true">
     <p>This is first line</p>
     <p>Hi <u id="text_id" style="cursor:pointer;"><mark>This is underlined</mark></u> This is second line<br></p>
</div>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:1)

<!DOCTYPE html>
<html>
<head>
    <title></title>
</head>
<body>
    <div id="summernote" contenteditable="true">
       <p>This is first line</p>
       <p>Hi <u id="text_id" style="cursor:pointer;"><mark>This is underlined</mark></u> This is second line<br></p>
    </div>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
    <script type="text/javascript">
        $(document).on("click","#text_id",function() {
            var el = document.getElementById("summernote");
            var range = document.createRange();
            var sel = window.getSelection();
            range.setStart(el.childNodes[3], 0);
            range.collapse(true);
            sel.removeAllRanges();
            sel.addRange(range);
            el.focus();
        });
    </script>
</body>
</html>