禁用文本框的复制或粘贴操作?
我有两个文本框,我想阻止用户从第一个(电子邮件)文本框中复制值并将其粘贴到第二个(confirmEmail)文本框中。
Email:
Confirm Email:
我脑子里有两个解决方案:
- 阻止来自电子邮件文本框的复制操作,或
- 阻止来自confirmEmail文本框的粘贴操作。
有什么想法怎么做?
http://jsfiddle.net/S22ew/
检查这个小提琴小提琴
$('#email').bind("cut copy paste",function(e) { e.preventDefault(); });
你需要绑定剪切,复制粘贴应该做什么。你可以防止操作的默认行为。 你可以在这里找到详细的解释
这是更新的小提琴 。
$(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()
因此,通过这种方式,您可以在整个应用程序中使用它,您只需将数据属性添加到要忽略的复制粘贴的位置
更新:接受的答案提供了解决方案,但.on()是从现在开始应该使用的方法。
“从jQuery 3.0开始,.bind()已被弃用。它被.on()方法取代,用于将事件处理程序从jQuery 1.7附加到文档,因此不鼓励使用它。”
看这个例子。 您需要绑定事件密钥传播
$(document).ready(function () { $('#confirmEmail').keydown(function (e) { if (e.ctrlKey && (e.keyCode == 88 || e.keyCode == 67 || e.keyCode == 86)) { return false; } }); });