2017-01-18 3 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> 
Смежные вопросы