[解決済み】HTMLテキストを選択不可にする方法【重複あり
2022-04-10 02:01:52
質問
ウェブページにラベルとしてテキストを追加し、選択できないようにしたいのですが。
つまり、マウスカーソルがテキストの上にあるとき、テキスト選択カーソルに全くならないようにしたいのです。
私が実現しようとしていることの良い例は、このウェブサイトのボタン(質問、タグ、ユーザー、...)です。
どのように解決するのですか?
これは普通のHTMLではできないので、JSFはここでもあまり役に立ちません。
をターゲットにしている場合 まともなブラウザ のみを使用する場合は、CSS3のみを使用します。
.unselectable {
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
<label class="unselectable">Unselectable label</label>
古いブラウザもカバーしたい場合は、このJavaScriptのフォールバックを検討してください。
<!doctype html>
<html lang="en">
<head>
<title>SO question 2310734</title>
<script>
window.onload = function() {
var labels = document.getElementsByTagName('label');
for (var i = 0; i < labels.length; i++) {
disableSelection(labels[i]);
}
};
function disableSelection(element) {
if (typeof element.onselectstart != 'undefined') {
element.onselectstart = function() { return false; };
} else if (typeof element.style.MozUserSelect != 'undefined') {
element.style.MozUserSelect = 'none';
} else {
element.onmousedown = function() { return false; };
}
}
</script>
</head>
<body>
<label>Try to select this</label>
</body>
</html>
もし、すでに
jQuery
この例では、新しい機能を追加しています。
disableSelection()
をjQueryに追加することで、jQueryのコード内の任意の場所で使用することができます。
<!doctype html>
<html lang="en">
<head>
<title>SO question 2310734 with jQuery</title>
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script>
$.fn.extend({
disableSelection: function() {
this.each(function() {
if (typeof this.onselectstart != 'undefined') {
this.onselectstart = function() { return false; };
} else if (typeof this.style.MozUserSelect != 'undefined') {
this.style.MozUserSelect = 'none';
} else {
this.onmousedown = function() { return false; };
}
});
}
});
$(document).ready(function() {
$('label').disableSelection();
});
</script>
</head>
<body>
<label>Try to select this</label>
</body>
</html>
関連
-
[解決済み] IE=edge,chrome=1というのは今でも有効なのでしょうか?
-
[解決済み] 文字列が部分文字列で終わっているかどうかをXPathでテストする?
-
[解決済み] ホバー時に背景画像を暗くする
-
[解決済み] head」タグと「header」タグの本当の違いは何ですか?[重複】について]
-
[解決済み] textareaのresizableプロパティを無効にするにはどうしたらよいですか?
-
[解決済み] 要素を水平方向にセンタリングする方法
-
[解決済み] CSSでテキストや画像の背景を透明にするには?
-
[解決済み] リンクのように動作するHTMLボタンを作成する方法
-
[解決済み] コンテナの幅に応じたフォントの拡大縮小
-
[解決済み】なぜHTMLは "chucknorris "を色と見なすのか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】html文書に縦の空白を挿入するには?
-
[解決済み】CSS "margin: 0 auto" が中央揃えにならない。
-
[解決済み] テーブルセルの背景を透明にする方法
-
[解決済み] ChromeのデベロッパーツールでHTML Bodyにcz-shortcut-listen="true "が表示される?
-
[解決済み] iFrameがURLを読み込んでいない
-
[解決済み] What is the difference between <p> and <div>?
-
[解決済み] margin-block-startとmargin-topの違いは何ですか?
-
[解決済み] デフォルトで空白を選択
-
[解決済み] TD rowspan が機能しない
-
[解決済み] フロートされた子 div の高さを親の高さに拡張するにはどうすればよいですか?