首頁 >web前端 >js教程 >如何使用 JavaScript 停用文字區域中的複製和貼上?

如何使用 JavaScript 停用文字區域中的複製和貼上?

Patricia Arquette
Patricia Arquette原創
2024-11-02 22:11:02896瀏覽

How to Disable Copying and Pasting in Textareas with JavaScript?

使用JavaScript 停用複製和貼上的高級方法

在Web 開發中,防止最終用戶將內容貼上到文字區域可能是必要的資料完整性或使用者體驗。為此,自訂 JavaScript 程式碼可以提供解決方案。

實作:

  1. 偵測按鍵事件並追蹤是否 CtrlCmd 鍵被按下。
  2. 在keydown 內事件處理程序,檢查使用者是否按下CtrlCmd 以及V(貼上)或C(複製)。
  3. 如果偵測到的組合鍵與Ctrl/Cmd VCtrl/Cmd C,透過傳回false 來封鎖貼上或複製操作。

示例代碼:

<code class="javascript">$(document).ready(function() {
    var ctrlDown = false,
        ctrlKey = 17,
        cmdKey = 91,
        vKey = 86,
        cKey = 67;

    $(document).keydown(function(e) {
        if (e.keyCode == ctrlKey || e.keyCode == cmdKey) ctrlDown = true;
    }).keyup(function(e) {
        if (e.keyCode == ctrlKey || e.keyCode == cmdKey) ctrlDown = false;
    });

    $(".no-copy-paste").keydown(function(e) {
        if (ctrlDown &amp;&amp; (e.keyCode == vKey || e.keyCode == cKey)) return false;
    });
    
    // Document Ctrl + C/V 
    $(document).keydown(function(e) {
        if (ctrlDown &amp;&amp; (e.keyCode == cKey)) console.log("Document catch Ctrl+C");
        if (ctrlDown &amp;&amp; (e.keyCode == vKey)) console.log("Document catch Ctrl+V");
    });
});</code>

用法:

要使用此代碼,請應用"no-copy-paste" CSS 類別到要停用複製和貼上的文字區域。在沒有此類的文字區域中,複製和貼上將正常運作。

注意:此解決方案可能不適合所有應用程序,因為它確實阻止用戶使用標準鍵盤快捷鍵,例如CtrlCmd F 用於尋找/搜尋。在實施此措施之前,權衡可用性和安全性之間的權衡非常重要。

以上是如何使用 JavaScript 停用文字區域中的複製和貼上?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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