使用 jQuery 禁用警报消息 [关闭]
Posted
技术标签:
【中文标题】使用 jQuery 禁用警报消息 [关闭]【英文标题】:Disable alert message with jQuery [closed] 【发布时间】:2019-04-06 17:24:26 【问题描述】:谁能告诉我如何在以下代码中禁用警报消息?
jQuery(document).ready(function($)
$(document).keydown(function(event)
var pressedKey = String.fromCharCode(event.keyCode).toLowerCase();
if (event.ctrlKey && (pressedKey == "v"))
alert('Sorry, This Functionality Has Been Disabled!');
//disable key press processing
return false;
);
);
我们有一个聊天网站,我们想禁用 CTRL+V,对于 Firefox 用户,它会显示一条弹出消息,上面写着“抱歉,此功能已被禁用!” 并且它还提供了“防止此页面创建其他对话”的选项,一旦您单击该选项,用户就可以使用 CTRL+v
我们可以禁用此消息吗?
【问题讨论】:
How to disable Paste (Ctrl+V) with jQuery?的可能重复 为什么不能删除那行代码? 你知道粘贴不仅仅是ctrl+v吗?右键单击,编辑/粘贴....等 所以你真的想从页面上禁用复制/剪切,它与警报消息无关。我认为我们应该关闭它,因为它没有任何意义。 我认为 OP 希望弹出窗口出现一次并且一旦出现就停止。虽然不清楚。你可能想看看.one()
【参考方案1】:
很遗憾你不会喜欢这个答案:
实际上不可能完全阻止用户访问他们的剪贴板,这不能用 JS 完全控制,因为该功能是由操作系统沙箱化的。
你可以通过绑定按键和做其他事情来迷惑用户,但你不能真正阻止他们复制和粘贴。如果您想安静地忽略这些按键,也可以完全不致电alert
。
【讨论】:
他们没有把数据放到他们的剪贴板上;) 嗯,怎么样? (改为“访问”)【参考方案2】:我的理解是,你只想第一次显示消息,然后一直阻止操作而不显示消息。
所以,你需要一个你是否已经显示消息的标志
jQuery(document).ready(function($)
var notifiedCtrlV = false;
$(document).keydown(function(event)
var pressedKey = String.fromCharCode(event.keyCode).toLowerCase();
if (event.ctrlKey && (pressedKey == "v"))
event.preventDefault();
if (!notifiedCtrlV) alert('Sorry, This Functionality Has Been Disabled!');
notifiedCtrlV = true;
//disable key press processing
return false;
);
);
【讨论】:
以上是关于使用 jQuery 禁用警报消息 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章