您的位置:首页 > 其它

处理键盘事件 禁止后退键(Backspace)密码或单行、多行文本框除外

2013-03-15 09:20 393 查看
//处理键盘事件 禁止后退键(Backspace)密码或单行、多行文本框除外
function banBackSpace(e) {
	var ev=e||window.event;
	//获取event对象
	var obj=ev.target||ev.srcElement;
	//获取事件源
	var t=obj.type||obj.getAttribute('type');
	//获取事件源类型
	//获取作为判断条件的事件类型
	var vReadOnly=obj.readOnly;
	var vDisabled=obj.disabled;
	//处理undefined值情况
	vReadOnly=(vReadOnly==undefined)?false:vReadOnly;
	vDisabled=(vDisabled==undefined)?true:vDisabled;
	//当敲Backspace键时,事件源类型为密码或单行、多行文本的,
	//并且readOnly属性为true或disabled属性为true的,则退格键失效
	var flag1=ev.keyCode==8&&(t=="password"||t=="text"||t=="textarea")&&(vReadOnly==true||vDisabled==true);
	//当敲Backspace键时,事件源类型非密码或单行、多行文本的,则退格键失效
	var flag2=ev.keyCode==8&&t!="password"&&t!="text"&&t!="textarea";
	//判断
	if(flag2||flag1)return false;
}
//禁止退格键 作用于Firefox、Opera
document.onkeypress=banBackSpace;
//禁止退格键 作用于IE、Chrome
document.onkeydown=banBackSpace;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: