2016-04-12 10 views
2

これは、視覚的に意図したように、これが機能する以下の私の試み、選択不可能とコピー不可テキストHTML

/* css */ 
.unhighlightable-text { 
    -webkit-touch-callout: none; 
    -webkit-user-select: none; 
    -khtml-user-select: none; 
    -moz-user-select: none; 
    -ms-user-select: none; 
    user-select: none; 
} 

/* html */ 
<div> first </div> 
<div class='unhighlightable-text'> second </div> 
<div> third </div> 

です:JSfiddle しかし、あなたが実際には「第2」、行くと、すべての3つのdivを貼り付けコピーした場合は、常にコピーされます。

私はMaking line numbers uncopyableを見ました。しかし、それは問題を解決するためにCSS生成カウンタを使用する必要があります。私の場合、コピー不可能な部分はJSを使用して生成されます。

javascriptやdomを再構築することなく、選択不可能なのコピー不可能なテキストをhtmlで作成する方法はありますか?私はこれをやっている理由として

編集

、ここに私のユースケースである:私は動的に私はインクリメンタルレンダリングコンテンツの行を生成しています。各行に2つのinline-block divsがあり、最初のdivにはメタ情報が含まれ、2番目のdivには有用な内容が含まれています。ユーザーが有益なコンテンツ(頻繁に使用される)をコピーするだけであれば、最初のdivも同様にコピーされます。これらの行は動的にレンダリングされるので(EmberJSとember-collectionを使用しています)、私はテーブルビューを使うことができず、各行を自己完結型にする必要があります。

+1

この時点でお尋ねすることが重要です質問は:なぜあなたはそれをしたいですか? – zzzzBov

+0

@CBroeユースケースで質問を更新しました – user4998087

+0

@zzzzBovユースケース – user4998087

答えて

2

::beforeコンテンツは選択不可とコピー不可の両方になります。

[data-content]::before { 
 
    content: attr(data-content); 
 
}
<div> first </div> 
 
<div data-content='second'></div> 
 
<div> third </div>

0

あなたは自分のクリップボードへのコピーに便利コンテンツというあなたは、単にそれらを各行のボタンを与えることができる、サポートする必要がブラウザかに応じ。ここで

はそれに良い記事です:https://stackoverflow.com/a/30810322/1159067

関連する問題