【问题标题】:How to prevent text from being pasted in TextField with Javascript [duplicate]如何防止使用Javascript将文本粘贴到TextField中[重复]
【发布时间】:2021-04-02 15:21:24
【问题描述】:

我是 Javascript 新手,正在尝试编写一个程序来防止文本被复制到文本字段中。以下是我的代码

function dontpaste()
{
  alert("hello");
  return true;
}

<input type="text" name="name" id="name" onpaste="dontpaste()">

方法被调用。但是文本在警报后被复制。 甚至

document.getElementById('name').value="";

不工作。 甚至尝试过

return false;

对于方法,文本仍然被复制。

需要做什么才能调用方法但不复制文本?

【问题讨论】:

标签: javascript


【解决方案1】:

这样做不会传递事件参数

<input type="text" name="name" id="name" onpaste="dontpaste()">

改成

<input type="text" name="name" id="name">
document.getElementById("name").addEventListener("paste", dontpaste);

然后使用 event.preventDefault();在 dontpaste 函数中阻止默认粘贴功能。

粘贴不起作用的工作示例。

function dontpaste(event)
{
  event.preventDefault();
}

document.getElementById("name").addEventListener("paste", dontpaste);
&lt;input type="text" name="name" id="name"&gt;

【讨论】:

  • 技术上您仍然可以通过this.event.preventDefault() 参加活动。但这有点恶心。
猜你喜欢
  • 1970-01-01
  • 2013-02-25
  • 1970-01-01
  • 2021-02-10
  • 1970-01-01
  • 2019-07-09
  • 2017-03-04
  • 2014-08-31
  • 1970-01-01
相关资源
最近更新 更多