所以我有一個方法需要一個標籤並將選定的文本包裝在該標籤中。在插入節點後面插入插入符號
function wrap(tag)
{
var sel, range;
if (window.getSelection)
{
sel = window.getSelection();
if (sel.rangeCount)
{
range = sel.getRangeAt(0);
var selectedText = range.toString();
range.deleteContents();
range.insertNode(document.createTextNode('['+tag+']'+selectedText+'[/'+tag+']'));
}
}
}
這個問題與然而,這,是它的完成包裝的文字和插入節點插入符號(在那裏它們被輸入)後,被放置在插入文本之前。
有沒有這樣的方式來插入文本,並有脫字號留在它的末尾?
請注意,如果不使用jQuery或任何其他庫,可以這樣做。我只需要它在webkit(Safari)中工作。
你是男人:) – endy 2012-03-23 03:22:59
@phil mccull +1的答案。 如果您只需要在該div中插入文本而不在文檔中的任何其他位置,單擊'wrap'時會怎麼樣? – 2014-09-04 05:26:00
從鏈接中得到了我的問題的答案:http://stackoverflow.com/a/8340432/1407434,更新的小提琴:http://jsfiddle.net/tM3mA/38/ – 2014-09-04 05:46:12