代码之家  ›  专栏  ›  技术社区  ›  John Topley

网站如何抑制粘贴文本?

  •  7
  • John Topley  · 技术社区  · 17 年前

    我注意到一些网站(通常是银行)禁止将文本粘贴到文本字段中。这是怎么做到的?我知道JavaScript可以用来吞下粘贴的键盘快捷键,但右键菜单项呢?

    2 回复  |  直到 8 年前
        1
  •  10
  •   Ravi Makwana    6 年前

    可能使用 onpaste 事件,以及 return false 从它或使用 e.preventDefault() 在Event对象上。

    注意 onpaste 非标准的 ,不要在生产现场依赖它,因为它不会永远存在。

    $(document).on("paste",function(e){
      console.log("paste")
      e.preventDefault()
      return false;
    })
        2
  •  2
  •   LucaM    17 年前

    即使有可能在许多浏览器中拦截粘贴事件(但并非所有浏览器都如前一个答案中的链接所示),这也是相当不可靠的,而且可能不完整(根据浏览器/操作系统的不同,可能有可能以不同的方式进行粘贴操作,这些方式可能无法被javascript代码捕获)。

    Here 是一组关于富文本编辑器上下文中粘贴(和复制)的注释,也可以应用于其他地方。