【问题标题】:How to restrict jQuery dataTable from copy?如何限制 jQuery dataTable 复制?
【发布时间】:2017-10-02 12:47:22
【问题描述】:

在我的应用程序中,我在 jQuery dataTable 中显示数据,但根据要求,我想限制用户使用鼠标或键盘复制数据。我在 dataTable 的每一行中都有可点击的按钮。 我正在玩下面的代码:

$(document).keydown(function(e){
  var code = (e.keyCode ? e.keyCode : e.which);
  if (code == 65 && e.ctrlKey) { //ctrl+A
    e.preventDefault();
    //alert("Hi Team");
  }
});

任何帮助将不胜感激。

【问题讨论】:

  • 简短回答:你不能。将数据提供给用户后,用户就拥有了数据。他们可以为所欲为。
  • 我知道即使在限制鼠标或键盘之后(如果可能)我也无法限制打印屏幕,但想尝试限制 ctrl+c 并右键单击=> 复制
  • 你不完全理解,即使你限制了 ctrl+c 或 rc-copy(糟糕的做法 imo),他们仍然可以获取信息,因为它是客户端。跨度>

标签: javascript jquery datatables


【解决方案1】:

最简单的方法是禁用对您不想被复制的字段的选择。仍然可以使用其他方法复制它们,但在我看来,这对于大多数情况来说已经足够了。

用于禁用选择的 CSS 类。

.disable-select {
  -webkit-user-select: none;  
  -moz-user-select: none;    
  -ms-user-select: none;      
  user-select: none;
}

JsFiddle:https://jsfiddle.net/z7vswp3g/

【讨论】:

    【解决方案2】:

    浏览器的开发工具让这成为不可能,只要你写一些输出到网页甚至禁用它,人们可以按 F12 或简单地右键单击并检查然后复制它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-28
      • 2015-12-23
      • 1970-01-01
      • 1970-01-01
      • 2013-05-29
      相关资源
      最近更新 更多