javascript禁止鼠标右键和复制功能

要禁止鼠标右键和复制功能,可以编写如下的封装函数:

javascript 复制代码
function preventDefaultCopy(event) {
  // 禁止右键 菜单和复制
  event.preventDefault();
  event.stopPropagation();
  return false;
}

// 在需要禁止复制的元素上添加该事件监听器
element.addEventListener('contextmenu', preventDefaultCopy);

这个函数通过监听右键 菜单事件(contextmenu),在事件触发时调用 preventDefault()stopPropagation() 方法,禁止了右键 菜单和复制功能的默认行为。将该函数添加到需要禁止复制的元素的事件监听器中即可实现禁止复制功能。

其他方法可以禁止鼠标右键和复制功能

  1. 禁止右键菜单

    • oncontextmenu="return false;":这会禁止右键 菜单弹出。
    • oncontextmenu="window.event.returnValue=false;":与上一种方法类似,也是禁止右键 菜单弹出。
    • oncontextmenu="event.preventDefault();":同样可以禁止右键 菜单弹出。
  2. 禁止复制

    • oncopy="return false;":这会禁止复制操作。
    • oncopy="document.selection.empty();":与方法一相似,也是禁止复制操作。
    • oncopy="navigator.userAgent='';":通过设置 userAgent 为空字符串,这可以禁止复制操作。
  3. 同时禁止右键菜单和复制

    • oncontextmenu="return false;" oncopy="return false;":在同一个元素上同时设置这两种事件,可以同时禁止右键菜单和复制操作。

这些方法可以在 HTML 标签中使用,比如 <div oncontextmenu="return false;"><body oncontextmenu="return false;" oncopy="return false;">,或者在 JavaScript 中使用,比如 element.oncontextmenu = function(e) { e.preventDefault(); e.stopPropagation(); return false; }。但请注意,这些方法可能会影响用户体验,因此应谨慎使用。


@漏刻有时

相关推荐
NineData6 小时前
NineData 迁移评估功能正式上线
数据库·dba
NineData12 小时前
数据库迁移总踩坑?用 NineData 迁移评估,提前识别所有兼容性风险
数据库·程序员·云计算
赵渝强老师14 小时前
【赵渝强老师】PostgreSQL中表的碎片
数据库·postgresql
全栈老石18 小时前
拆解低代码引擎核心:元数据驱动的"万能表"架构
数据库·低代码
倔强的石头_2 天前
kingbase备份与恢复实战(二)—— sys_dump库级逻辑备份与恢复(Windows详细步骤)
数据库
jiayou643 天前
KingbaseES 实战:深度解析数据库对象访问权限管理
数据库
于眠牧北3 天前
MySQL的锁类型,表锁,行锁,MVCC中所使用的临键锁
mysql
李广坤4 天前
MySQL 大表字段变更实践(改名 + 改类型 + 改长度)
数据库
Turnip12025 天前
深度解析:为什么简单的数据库"写操作"会在 MySQL 中卡住?
后端·mysql
爱可生开源社区5 天前
2026 年,优秀的 DBA 需要具备哪些素质?
数据库·人工智能·dba