2

contenteditable divがあり、そこにテキストを含むspanタグがあります。スパンタグとそのすべてのコンテンツを選択するには、ユーザーがバックスペースまたは削除を押すと、スパンとそのコンテンツが削除されるようにするにはどうすればよいですか?

更新:私が選択と言うとき、私はハイライトを意味します。ご不便おかけしてすみません。

更新2:「element.outerHTML.select()」の方針に沿って考えています。それが役立つかどうかを確認してください。

4

3 に答える 3

2

Firefoxには、それを可能にするSelectionAPIがあります。それをDOM2RangeAPIと組み合わせると、必要なものが得られます

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

選択APIは、将来の標準であるHTML編集APIで使用できるようになりましたが、ほとんどのブラウザーで使用できるようになるまでにはしばらく時間がかかります。

于 2012-08-30T07:42:37.693 に答える
1

昨日私はあなたの他の質問に答えました。その回答に付随するjsfiddleを改訂しました。再確認してくださいshift+delete編集可能なスパン内から使用してダイアログを表示し、現在のスパンを「選択」します。

于 2012-08-30T08:06:54.403 に答える
0

これを試して:

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

span.onclick = function() {
    var range = document.createRange();
    range.selectNodeContents(span);
    var sel = window.getSelection();
    sel.removeAllRanges();
    sel.addRange(range);
};​
于 2012-08-30T07:05:34.393 に答える