2017-01-18 77 views
1

當我按Enter鍵時,光標位於<mark>This的開頭。我想讓光標在<p>Hi的開頭。我怎樣才能實現這與jQuery?如何向後移動光標

<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>

回答

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>