contenteditable divがあり、そこにテキストを含むspanタグがあります。スパンタグとそのすべてのコンテンツを選択するには、ユーザーがバックスペースまたは削除を押すと、スパンとそのコンテンツが削除されるようにするにはどうすればよいですか?
更新:私が選択と言うとき、私はハイライトを意味します。ご不便おかけしてすみません。
更新2:「element.outerHTML.select()」の方針に沿って考えています。それが役立つかどうかを確認してください。
contenteditable divがあり、そこにテキストを含むspanタグがあります。スパンタグとそのすべてのコンテンツを選択するには、ユーザーがバックスペースまたは削除を押すと、スパンとそのコンテンツが削除されるようにするにはどうすればよいですか?
更新:私が選択と言うとき、私はハイライトを意味します。ご不便おかけしてすみません。
更新2:「element.outerHTML.select()」の方針に沿って考えています。それが役立つかどうかを確認してください。
Firefoxには、それを可能にするSelectionAPIがあります。それをDOM2RangeAPIと組み合わせると、必要なものが得られます。
var r = document.createRange();
r.selectNode(domElement);
var s = window.getSelection();
s.removeAllRanges();
s.addRange(r);
選択APIは、将来の標準であるHTML編集APIで使用できるようになりましたが、ほとんどのブラウザーで使用できるようになるまでにはしばらく時間がかかります。
これを試して:
var span = document.getElementById("myspan");
span.onclick = function() {
var range = document.createRange();
range.selectNodeContents(span);
var sel = window.getSelection();
sel.removeAllRanges();
sel.addRange(range);
};