input [type=text]要素を除くすべてのWebページでの選択を無効にする必要があります。
同様の質問に対するこの受け入れられた答えはほとんどトリックを行いますが、input [type=text]要素を含むコンテナーの選択を無効にすることはありません。したがって、ユーザーはこれらのコンテナの1つからドラッグ操作を開始することで選択できます。
これも可能ですか。つまり、子要素(具体的には、子input = text要素)に対して有効にしながら、コンテナ要素の選択を無効にすることは可能ですか。
@Pointy、「最初の.not()呼び出しを削除してみませんか?」
最初の電話に出ると、次の.not
ようになります。
$('body').not('input').disableSelection();
リンクされた質問で指摘されているように、input [type=text]要素を含むページ上のすべてが引き続き無効になります。
@David Thomas、「ライブデモはありますか...」
ライブデモはありませんが、かなり些細なことです。たとえば、input [type=text]要素を含む少しのパディングがあるdiv。結果は次のとおりです。
selectiopnを使用
$('body').not('input').disableSelection();
すると、入力要素を含むすべてのページで無効になります。$('body *').not(':has(input)').not('input').disableSelection();
入力要素を含まないすべての要素に対して、選択が無効になっています。ただし、入力要素を含むコンテナ内からドラッグ操作を開始することにより、ページ全体を選択することは可能です。