使用 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 禁用警报消息 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

Swift 使用关闭警报消息 [重复]

如何使用多个自定义按钮和背景图像显示警报消息? [关闭]

如何在jquery中启用和禁用文本框[重复]

连接到 Internet 时禁用警报视图 [关闭]

如何在 jquery 数据表上解决此警报 1 消息

如果在 Jquery 加载页面时在网格中禁用了所有复选框,则如果没有选中复选框并禁用按钮,则发出警报