参照:
プラグインを使用した jsFiddle デモ
私が作成した上記の jsFiddle デモでは、プラグインを使用して、AndroidまたはiOSデバイス (デスクトップ ブラウザーも同様)でテキストのブロックが選択されないようにすることができます。
使い方は簡単で、jQuery プラグインをインストールした後のサンプル マークアップを次に示します。
サンプル HTML:
<p class="notSelectable">This text is not selectable</p>
<p> This text is selectable</p>
サンプル jQuery:
$(document).ready(function(){
$('.notSelectable').disableSelection();
});
プラグイン コード:
$.fn.extend({
disableSelection: function() {
this.each(function() {
this.onselectstart = function() {
return false;
};
this.unselectable = "on";
$(this).css('-moz-user-select', 'none');
$(this).css('-webkit-user-select', 'none');
});
return this;
}
});
あなたのメッセージコメントごとに: I still need to be able to trigger events (notably, touchstart, touchmove, and touchend) on the elements.
このプラグインの影響を受けないラッパーを使用するだけですが、このプラグインを使用してテキストコンテンツが保護されています。
テキスト ブロック内のリンクとの対話を可能にするには、リンク以外のすべてに を使用し、それらにのみspan tags
クラス名を追加して、アンカー リンクの選択と対話を維持します。.notSelected
span tags
ステータスの更新:この更新されたjsFiddleにより、テキスト選択が無効になっていると他の機能が機能しない可能性があるという懸念が確認されました。この更新された jsFiddle に示されているのは、太字テキストがテキスト選択可能でない場合でも、太字テキストがクリックされたときにブラウザー アラートを発生させる jQuery クリック イベント リスナーです。