1

このコードでテキスト選択を無効にしようとしましたが、成功しませんでした。編集 (techfoobar に感謝): http://jsfiddle.net/5uG63/3/コードの大部分を適用した唯一の要素は、3 つを含む要素です。残りの部分は強調表示できます。これは非常に大きなコード ブロックのスニペットであり、Ajax を介して要素を取得しているため、投稿するのは困難です。ユーザーが情報を取得する可能性があるという意味でテキストを選択することについてはあまり心配していませんが、テキストが選択されると、ドラッグアンドドロップ機能が妨げられることがあります。

3 つを含む要素と、それらが有効になっている他のすべての要素の場合、これが発生するケースは 1 つだけのようです。Internet Explorer を使用して、左端の 2 つのボックスの間の空白の中央をクリックし、マウスを 2 つのボックスの右端までドラッグすると、数字の 3 が選択されます。Internet Explorer 9 を使用しています。

CSSで無効にしてみましたが、ほとんど効果がないようです。問題は、それが入っているdivの外から選択されていることだと思います.

それが私が使用した CSS です: CSS を使用してテキスト選択の強調表示を無効にする方法は?

-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;

ご協力いただきありがとうございます!

4

1 に答える 1

0

テーブルには、 を指定しonselectstart="select()"ました。これを( returnonselectstart="return select()"に注意してください) に変更して、 select()関数から返されるfalseがブラウザーに通知され、選択がブロックされるようにする必要があります。

このフィドルを確認してください:http://jsfiddle.net/5uG63/4/

注:これは、要素自体から選択を開始した場合にのみ機能します。テーブルの外から選択を開始すると、選択されたままになります。

于 2012-10-28T09:51:59.900 に答える