禁用文本框的复制或粘贴操作?

我有两个文本框,我想阻止用户从第一个(电子邮件)文本框中复制值并将其粘贴到第二个(confirmEmail)文本框中。

Email: 
Confirm Email:

我脑子里有两个解决方案:

  1. 阻止来自电子邮件文本框的复制操作,或
  2. 阻止来自confirmEmail文本框的粘贴操作。

有什么想法怎么做?

http://jsfiddle.net/S22ew/

检查这个小提琴小提琴

  $('#email').bind("cut copy paste",function(e) { e.preventDefault(); }); 

你需要绑定剪切,复制粘贴应该做什么。你可以防止操作的默认行为。 你可以在这里找到详细的解释

使用

oncopy =“return false”onpaste =“return false”

 Email: 
Confirm Email:

http://jsfiddle.net/S22ew/4/

这是更新的小提琴 。

 $(document).ready(function(){ $('#confirmEmail').bind("cut copy paste",function(e) { e.preventDefault(); }); }); 

这样可以防止在确认电子邮件文本框中剪切复制粘贴。

希望能帮助到你。

试试这个

  $( "#email,#confirmEmail " ).on( "copy cut paste drop", function() { return false; }); 
 ondrop="return false;" onpaste="return false;" 

在HTML中的必需文本框中使用这些属性。 现在,禁用了拖放和粘贴function。

最好的方法是在字段(文本框)中添加数据属性,以避免剪切,复制和粘贴。

只需创建一个方法,如下所示: –

 function ignorePaste() { $("[data-ignorepaste]").bind("cut copy paste", function (e) { e.preventDefault(); //prevent the default behaviour }); }; 

然后,当您添加上述代码时,只需将数据属性添加到您要忽略剪切复制粘贴的字段。 在我们的例子中,您添加数据属性以确认电子邮件文本框如下: –

 Confirm Email:  

调用方法ignorePaste()

因此,通过这种方式,您可以在整个应用程序中使用它,您只需将数据属性添加到要忽略的复制粘贴的位置

https://jsfiddle.net/0ac6pkbf/21/

更新:接受的答案提供了解决方案,但.on()是从现在开始应该使用的方法。

“从jQuery 3.0开始,.bind()已被弃用。它被.on()方法取代,用于将事件处理程序从jQuery 1.7附加到文档,因此不鼓励使用它。”

http://api.jquery.com/bind/

看这个例子。 您需要绑定事件密钥传播

 $(document).ready(function () { $('#confirmEmail').keydown(function (e) { if (e.ctrlKey && (e.keyCode == 88 || e.keyCode == 67 || e.keyCode == 86)) { return false; } }); });