通过js禁止右键,禁止粘贴还是没办法完全禁止用户复制粘贴操作,有些用户通过手机带的输入法进行粘贴,js没办法禁止。
我想了一个办法,就是监听输入框改变事件,获取到输入文字的长度,把长度存到localStorage里面。判断本次内容的长度是否比上次内容的长度大5以上,如果是,就说明用户是在复制粘贴,就给个提示"禁止粘贴",并且把粘贴的内容去掉。
<textarea name="content" id="" cols="30" rows="10">
</textarea>
<script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
<script>
$(function(){
//页面加载完毕后触发事件
$("textarea[name='content']").bind('input propertychange', function() {
var content = $.trim($(this).val());
var prevlength = localStorage.getItem('prevlength') ? localStorage.getItem('prevlength') : 0;
if(content.length - prevlength >=5 ){
alert('禁止粘贴');
content = content.substr(0,prevlength);
$(this).val(content);
}else{
localStorage.setItem('prevlength',content.length);
}
});
});
</script>
</textarea>
<script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
<script>
$(function(){
//页面加载完毕后触发事件
$("textarea[name='content']").bind('input propertychange', function() {
var content = $.trim($(this).val());
var prevlength = localStorage.getItem('prevlength') ? localStorage.getItem('prevlength') : 0;
if(content.length - prevlength >=5 ){
alert('禁止粘贴');
content = content.substr(0,prevlength);
$(this).val(content);
}else{
localStorage.setItem('prevlength',content.length);
}
});
});
</script>