왜냐하면 대부분의 고객이 컴퓨터를 이해하지 못하는 초보자이기 때문입니다. 따라서 오작동이 많이 발생하며 텍스트 상자가 선택되지 않은 후 실수로 백스페이스를 누른 후 방금 열심히 작성했던 양식이 아무것도 아닌 상태로 돌아가는 경우가 있습니다. 인터넷에서 많은 정보를 확인한 뒤 정리했습니다. 모든 사람과 공유하세요. 또한 Sister Yogurt가 와서 내 첫 번째 기술 블로그를 읽어주기를 바랍니다. 하하(내가 당신에 대해 언급해도 괜찮습니다.). 더 이상 말도 안되는 소리는 없습니다. 소스코드 올립니다.
$(function(){
//키보드 이벤트 처리에서는 뒤로 키(백스페이스) 비밀번호나 한 줄 또는 여러 줄 텍스트 상자를 금지합니다.
function banBackSpace(e){
var ev = e || 이벤트 객체
var obj = ev.target || ev.srcElement;//이벤트 소스 가져오기
var t = obj.type || obj.getAttribute('type');// 이벤트 소스 유형
/ /판정 조건으로 사용되는 이벤트 유형 가져오기
var vReadOnly = obj.getAttribute('readonly')
var vEnabled = obj.getAttribute('enabled');
//null 값 상황 처리
vReadOnly = (vReadOnly == null) ? false : true;
vEnabled = (vEnabled == null) ? true : vEnabled; 백스페이스 키를 눌렀을 때 이벤트 소스 유형은 비밀번호 또는 한 줄, 여러 줄 텍스트입니다.
//readonly 속성이 true이거나 활성화 속성이 false인 경우 백스페이스 키가 유효하지 않습니다.
var flag1 =(ev.keyCode == 8 && (t=="password" | | t=="text" || t=="textarea")
&& (vReadOnly || vEnabled!=true))?true: false;
//백스페이스 키를 누르면 이벤트 소스 유형이 비밀번호나 단일 또는 여러 줄 텍스트가 아닌 경우 백스페이스 키가 비활성화됩니다.
var flag2=(ev.keyCode == 8 && t != "password" && t != "text" && t != "textarea ")
?true:false;
//Judge
if(flag2){
return false;
}
if(flag1){
return false ;
}
}
//Firefox 및 Opera에서 뒤로 키 비활성화
document.onkeypress=banBackSpace;
//IE 및 Chrome의 뒤로 키 비활성화
document.onkeydown=banBackSpace;
window.history.forward(1);//함께 제공되는 뒤로 버튼 차단 브라우저
})
주의할 사항은 다음과 같습니다.
이 코드는 초기화 메서드에 배치되어야 합니다. 그런 다음 document.onkeypress=banBackSpace를 사용하여 작성한 메소드를 호출하십시오.
vReadOnly = (vReadOnly == null) ? false : true ;이 코드에서는 콜론 뒤의 값이 vReadOnly
인 것으로 나타났습니다. 나중에 내 프로젝트에서 비어 있는 것을 발견했습니다. , null이 아니므로 true로 변경했습니다.
텍스트, 비밀번호, 텍스트 영역이 아닌 경우 백스페이스를 눌러 브라우저 백스페이스 이벤트를 방지하려면 위의 방법을 따르십시오. 그러나 텍스트 상자에 값. 이벤트. 이것은 내 첫 번째 블로그입니다. 많은 지원을 바랍니다.