вернуть объект диапазона слова до или после позиции carret в contenteditable div - PullRequest
0 голосов
/ 05 ноября 2018

После исследования я наткнулся на несколько ответов @Tim Down, но все же не утолил жажду. Что я хочу, это удалить содержимое диапазона, содержащее слово до или после carret в contenteditable div. Предполагая | представляет положение карреты.

Пример: @TimDown является #GoodJavascriptProgrammer | и ....

если я нажму кнопку удаления, я должен удалить слово #GoodJavascriptProgrammer с включенным символом # и установить курсор обратно на свою позицию. см. мою скрипку удалить последнюю строку перед carret

function delete_last_word_at_carret(el){
if(window.getSelection){//Webkits and Firefox code
    var sel=document.getSelection();
if(sel.getRangeAt && sel.rangeCount){
        range=sel.getRangeAt(0);//assume this is required range
        range.deleteContents();
  //the word #GoodJavascriptProgrammer should be deleted
  //and cursor set back to the right position
   set_cursor();
    }
 }
 else if(document.selection){//IE code
 //help with code here
 }
}
function set_cursor(){
//return cursor
}
//click the delete button
$('.delete_bt').click(function(){
var el=document.getElementById('editable_div');
delete_last_word_at_carret(el);
});
...