首頁 >web前端 >css教學 >如何停用 HTML 中的文字選擇?

如何停用 HTML 中的文字選擇?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-11-10 19:31:03647瀏覽

How to Disable Text Selection in HTML?

不可選擇的HTML 文字:超越Vanilla HTML

雖然純HTML 本身無法阻止文字選擇,但可以採用各種技術來克服此限制。其中一種方法涉及利用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;
}

將此樣式整合到HTML 元素中會禁用文字選擇:

<label class="unselectable">Unselectable label</label>

為了更廣泛的瀏覽器相容性,可以考慮使用JavaScript 後備:

<label onselectstart="return false;">Unselectable label</label>

如果多個標籤需要此功能,可以使用通用JavaScript函數來迭代並停用選擇:

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; };
    }
}

或者,透過整合jQuery,「disableSelection()可以新增「功能來簡化流程:

<label>Try to select this</label>

<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>

這些方法有效地停用文字選擇,防止使用者無意中選擇並破壞網頁的功能。

以上是如何停用 HTML 中的文字選擇?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn