在firefox里password控件可以copy和cut,但是copy和cut出来的内容是●,这会带来一些问题,比如注册的时候,把“密码”copy到“确认密码”的时候,就把●copy过去了,所以在这里要把copy和cut禁用掉,以免出现这种问题。
在网上搜到个两种方法:
1.用jquery
<script src="<s:url value="/js/jquery.min.js" includeParams="none" />"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#text1').bind("cut copy paste", function(e) {
e.preventDefault();
alert("You cannot paste text into this textbox!");
// 禁止右键
$('#text1').bind("contextmenu", function(e) {
e.preventDefault();
});
});
});
</script>
<input type="password" id="text1">
当然也可以用下面方法禁用全部的password
$(document).ready(function () {
$('input[type=password]').bind('cut copy paste', function (e) {
e.preventDefault();
});
});
2.onkeydown事件
onkeydown事件禁止ctrl+c X,不能禁止右键的copy cut
keyDownPermit (e,type) {
if (type == "password") {
var disabled = {c:0,x:0};
var ctrlMod = (window.event) ? window.event.ctrlKey : e.ctrlKey;
var key = (window.event) ? window.event.keyCode : e.which;
key = String.fromCharCode(key).toLowerCase();
return (ctrlMod && (key in disabled)) ? false : true;
}
return true;
}