JS实现屏蔽网页右键复制及ctrl+c复制的方法【2种方法】

JS实现屏蔽网页右键复制及Ctrl+C复制的方法有两种,分别是使用JavaScript事件取消默认行为和使用CSS样式禁用右键菜单显示。下面我将一步步为你详细讲解,并提供两个示例说明。

方法一:使用JavaScript取消默认行为

步骤一:添加事件监听器

首先,我们在需要屏蔽复制的页面上添加事件监听器,通过addEventListener方法来监听contextmenukeydown事件,实现禁用右键菜单和Ctrl+C复制功能。

document.addEventListener('contextmenu', function(event) {
    event.preventDefault();
});
document.addEventListener('keydown', function(event) {
    if (event.ctrlKey && (event.keyCode === 67 || event.keyCode === 86)) {
        event.preventDefault();
    }
});

步骤二:取消默认行为

在事件触发时,我们通过event.preventDefault()方法来取消默认行为,从而实现屏蔽复制功能。

示例一

<!DOCTYPE html>
<html>
<head>
    <title>屏蔽复制示例一</title>
</head>
<body>
    <p>这是一段文本。</p>
    <script>
        document.addEventListener('contextmenu', function(event) {
            event.preventDefault();
        });
        document.addEventListener('keydown', function(event) {
            if (event.ctrlKey && (event.keyCode === 67 || event.keyCode === 86)) {
                event.preventDefault();
            }
        });
    </script>
</body>
</html>

在上面的示例中,我们添加了两个事件监听器,并在事件触发时通过preventDefault()方法来取消默认行为,禁用右键菜单和Ctrl+C复制功能。

方法二:使用CSS样式禁用右键菜单显示

步骤一:添加CSS样式

我们可以使用CSS样式来禁用右键菜单显示,为需要屏蔽复制的元素设置-webkit-touch-callout: none;属性即可。

.no-copy {
  -webkit-touch-callout: none;
}

步骤二:应用CSS样式

通过JavaScript代码,我们可以获取所有需要屏蔽复制的元素,并将其添加no-copy类。

var noCopyElems = document.querySelectorAll('.no-copy');
for (var i = 0; i < noCopyElems.length; i++) {
    noCopyElems[i].classList.add('no-copy');
}

示例二

<!DOCTYPE html>
<html>
<head>
    <title>屏蔽复制示例二</title>
    <style>
        .no-copy {
          -webkit-touch-callout: none;
        }
    </style>
</head>
<body>
    <p>这是一段可以被复制的文本。</p>
    <p class="no-copy">这是一段被禁止复制的文本。</p>
    <script>
        var noCopyElems = document.querySelectorAll('.no-copy');
        for (var i = 0; i < noCopyElems.length; i++) {
            noCopyElems[i].classList.add('no-copy');
        }
    </script>
</body>
</html>

在上面的示例中,我们通过CSS样式-webkit-touch-callout: none;来禁用右键菜单显示,然后通过JavaScript代码获取所有需要屏蔽复制的元素,并将其添加no-copy类。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JS实现屏蔽网页右键复制及ctrl+c复制的方法【2种方法】 - Python技术站

(0)
上一篇 2023年5月27日
下一篇 2023年5月27日

相关文章

  • jQuery下通过replace字符串替换实现大小图片切换

    为了实现在网页中切换大小两张图片,我们可以使用jQuery的replace函数进行图像文件名的字符串替换。下面是详细攻略: 第一步:准备两张不同尺寸的图片 在本例中,我们准备的是两张猫咪图片,一张尺寸较大,另一张尺寸较小。图片的大小尺寸可以根据实际需求自行设置。 <img src="big-cat.jpg" class="…

    jquery 2023年5月28日
    00
  • jQuery特效 fadeOut()方法

    当我们需要在我们的网页上进行类似于淡出或变暗的效果时,jQuery就可以发挥作用了。其中,fadeOut()方法就是一个进行淡出动画的函数,在使用方法前,需要首先引入jQuery库。 方法语法 $(selector).fadeOut(speed,easing,callback) selector:必需。要进行淡出动画的元素,可以使用任何 jQuery 选择器…

    jquery 2023年5月12日
    00
  • bootstrap-datetimepicker实现只显示到日期的方法

    Bootstrap-datetimepicker实现只显示日期的方法 Bootstrap-datetimepicker是一款基于Bootstrap框架、JQuery组件和moment.js时间处理库的日期和时间选择器插件。该插件可以非常方便的在网页中实现日期和时间的选择。默认情况下,Bootstrap-datetimepicker会显示日期和时间,但是有些时…

    jquery 2023年5月27日
    00
  • 标题过长使用javascript按字节截取字符串

    下面是详细讲解“标题过长使用javascript按字节截取字符串”的完整攻略: 标题过长使用javascript按字节截取字符串 问题: 在前端页面中,有时候可能会出现标题过长的情况,如果不进行处理,就会影响页面的美观度。但是直接截断字符串又可能会出现汉字被切断的情况,怎么办呢?使用javascript按字节截取字符串是一种解决方案。 解决方案: 使用jav…

    jquery 2023年5月28日
    00
  • 如何使用JavaScript / jQuery在点击a链接时显示确认对话框

    下面是详细讲解如何通过 JavaScript / jQuery 在点击a链接时显示确认对话框的攻略: 准备工作 在使用JavaScript / jQuery实现点击a链接显示确认对话框之前,需要先准备一些基础知识和工具: 了解 JavaScript / jQuery 的基本语法和知识。 一般在HTML文件中引入 jQuery 来使用。 <script …

    jquery 2023年5月12日
    00
  • 基于jquery的无限级联下拉框js插件

    关于“基于jquery的无限级联下拉框js插件”的完整攻略,我将从以下几个方面进行讲解: 什么是无限级联下拉框 插件的安装方法 插件的使用方法 示例说明 1. 什么是无限级联下拉框 无限级联下拉框是一种特殊的下拉框,可以支持无限级别的下拉选择。用户在选择一个父级选项时,会动态出现对应的子级选项,再选择子级选项时,又会动态出现相应的孙级选项,以此类推,达到无限…

    jquery 2023年5月19日
    00
  • 如何用jQuery检查一个选择器是否符合某些内容

    要用jQuery检查一个选择器是否符合某些内容,可以使用jQuery的选择器方法,如find()、filter()等,以及相应的内容判断方法。 下面是具体的步骤: 使用jQuery选择器选择要检查的元素或元素集合,例如: var $divs = $(‘div’); // 选择所有div元素 var $imgs = $(‘img’); // 选择所有img元素…

    jquery 2023年5月13日
    00
  • jQuery的css()方法用法实例

    当使用jQuery的时候,css()方法可以帮助我们改变元素的CSS样式。下面我将详细讲解jQuery的css()方法用法实例,包括语法、参数和实例。 语法 下面是css()方法的语法: $(selector).css(name, value) 参数 name: 必须。表示要设置的CSS属性的名称。 value: 必须。表示要设置的CSS属性的值。 实例 示…

    jquery 2023年5月28日
    00
合作推广
合作推广
分享本页
返回顶部