如何渲染不可選擇的HTML 文字:詳細說明
問題來了:如何使網頁上的文字不可選擇,防止遊標移動從懸停時變更為文字選擇遊標。這種行為通常出現在按鈕上,例如 Stack Overflow 網站上的按鈕。
CSS3 解決方案
對於現代瀏覽器,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後備
對於較舊的瀏覽器,JavaScript 後備是必需的:
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; }; } } window.onload = function() { var labels = document.getElementsByTagName('label'); for (var i = 0; i < labels.length; i++) { disableSelection(labels[i]); } };
jQuery 解決方案
$.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; }; } }); } });然後應用它標記元素:
以上是如何使 HTML 中的文字不可選擇?的詳細內容。更多資訊請關注PHP中文網其他相關文章!