我有一個contenteditable div,其中我有一個span標籤,其中包含一些文本。如何選擇span標籤及其所有內容,因此當用戶按下退格鍵或刪除鍵時,span和其內容會被刪除?如何選擇span標籤內的所有內容,包括span標籤本身?
更新:當我說選擇,我的意思是突出顯示。抱歉給你帶來不便。
UPDATE 2:我正在考慮'element.outerHTML.select()'的問題。看看是否有幫助。
我有一個contenteditable div,其中我有一個span標籤,其中包含一些文本。如何選擇span標籤及其所有內容,因此當用戶按下退格鍵或刪除鍵時,span和其內容會被刪除?如何選擇span標籤內的所有內容,包括span標籤本身?
更新:當我說選擇,我的意思是突出顯示。抱歉給你帶來不便。
UPDATE 2:我正在考慮'element.outerHTML.select()'的問題。看看是否有幫助。
在Firefox中你有Selection API它允許你這樣做。與DOM2 Range API和you have what you want結合起來:
var r = document.createRange();
r.selectNode(domElement);
var s = window.getSelection();
s.removeAllRanges();
s.addRange(r);
的選擇API找到了自己在未來的標準,HTML Editing APIs,但直到它在大多數瀏覽器變得可用,將需要一段時間。
試試這個:
var span = document.getElementById("myspan");
span.onclick = function() {
var range = document.createRange();
range.selectNodeContents(span);
var sel = window.getSelection();
sel.removeAllRanges();
sel.addRange(range);
};
昨天我回答了your other question。我修改了附帶該答案的jsfiddle,please recheck it。在可編輯範圍內使用shift+delete
以調出對話框並「選擇」當前範圍。
你能插入一個jsfiddle嗎? – think123
添加爲鏈接。 –
你確定這會選擇整個元素及其內容嗎?我不太確定。 – think123