[IE] DOMのdisplay:none時のコピペ動作について

メモ。

DOMで、display:noneと指定している場合に、その範囲をコピペする。
その時、コピペされる文字列が、IEとfirefox,chrome,safariで動作が違う。

具体的には以下のHTMLコードの場合に、「あいうえお」~「かきくけこ」全体を選択してコピペする。
この時、IEのみ、コピペで隠し文字列がコピーされる。
現在の所、IE6/7/8/9で再現する。firefox, chrome、safariではコピーされない。


<html>
<body>
<div>あいうえお</div>
<div style="display:none">隠し文字(IEのみコピペ)</div>
<div>かきくけこ</div>
</body>
</html>


どういった場合に問題となるかであるが、たとえば、display:noneで折りたたんでおいた表示がコピーされてしまう、というような問題が発生する。
折りたたんであるものがコピペ展開されちゃうだけなら問題ないやーん、という方はそれはそれでよいのだが、把握していないと、突っ込まれた時に適切に折り返せない。

回避方法だが、DOMツリーから切り離すしかない。
IEの場合だけそういったコードを書くのは面倒なので、全ブラウザでそのように切り離す方向で。

ブログ気持玉

クリックして気持ちを伝えよう!

ログインしてクリックすれば、自分のブログへのリンクが付きます。

→ログインへ

なるほど(納得、参考になった、ヘー)
驚いた
面白い
ナイス
ガッツ(がんばれ!)
かわいい

気持玉数 : 1

ガッツ(がんばれ!)

この記事へのコメント

この記事へのトラックバック