2012-08-30 230 views
3

我有一個contenteditable div,其中我有一個span標籤,其中包含一些文本。如何選擇span標籤及其所有內容,因此當用戶按下退格鍵或刪除鍵時,span和其內容會被刪除?如何選擇span標籤內的所有內容,包括span標籤本身?

更新:當我說選擇,我的意思是突出顯示。抱歉給你帶來不便。

UPDATE 2:我正在考慮'element.outerHTML.select()'的問題。看看是否有幫助。

回答

3

在Firefox中你有Selection API它允許你這樣做。與DOM2 Range APIyou have what you want結合起來:

var r = document.createRange(); 
r.selectNode(domElement); 
var s = window.getSelection(); 
s.removeAllRanges(); 
s.addRange(r); 

的選擇API找到了自己在未來的標準,HTML Editing APIs,但直到它在大多數瀏覽器變得可用,將需要一段時間。

+0

你能插入一個jsfiddle嗎? – think123

+0

添加爲鏈接。 –

+0

你確定這會選擇整個元素及其內容嗎?我不太確定。 – think123

1

試試這個:

var span = document.getElementById("myspan"); 

span.onclick = function() { 
    var range = document.createRange(); 
    range.selectNodeContents(span); 
    var sel = window.getSelection(); 
    sel.removeAllRanges(); 
    sel.addRange(range); 
};​ 
相關問題