经过研究,我遇到了@Tim Down的几个答案,但仍然没有消除我的渴求。 我想要的是在contenteditable div中删除包含Carret之前或之后的单词的范围的内容。假设代表角位置。
示例: @TimDown是#GoodJavascriptProgrammer |和....
如果我单击删除按钮,则应该删除包含#符号的单词#GoodJavascriptProgrammer并将光标重新设置到其位置。 看到我的小提琴delete last string before 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);
});