백스 페이스 keydown 이벤트가 브라우저에서 처리되는 것을 막으려 고 jquery 라이브러리를 사용하므로 원래 이벤트를 가져올 필요가 있지만 일부 브라우저에서는 파이어 폭스) 원본 이벤트 인 keyCode = 0을 설정하려고하면 오류가 발생합니다.이 이벤트는 getter 만 해당 속성에 대해 존재한다는 오류를 표시합니다.jQuery를 사용하여 여러 브라우저에서 백 스페이스 중지
function blockBackspace(event) {
var altKey = event.originalEvent.altKey;
var srcElementType = event.originalEvent.srcElement;
if((altKey) || ((event.keyCode == 8) && (srcElementType != "text" && srcElementType != "textarea" && srcElementType != "password"))
|| ((event.ctrlKey) && ((event.keyCode == 78) || (event.keyCode == 82))) || (event.keyCode == 116))
{
event.keyCode = 0;
event.returnValue = false;
event.originalEvent.keyCode = 0;
event.originalEvent.returnValue = false;
//sets process backspaceFlag to keep multiple handlers from removing text
processBackspace = true;
}
}
그래서 난 다음에 무엇을 정확히 모르겠지만, 모든 솔루션은 내가 수율 더 많은 문제를 찾을 수 있습니다. 이 문제를 해결할 방법이 있어야합니다. 그렇지 않으면 다른 텍스트 영역 (건물의 종류)이 작동하지 않습니다.
왜 멈추시겠습니까? – Gumbo
@Gumbo - 이전에는 사용자가 Ajax 새로 고침의 일부인 입력 상자에 타이핑을해서 나쁜 순간에 부딪혀 페이지를 벗어납니다. 항상 다른 방법이 있지만, 나는 이것을 몇 번 생각해 보았습니다. –
입력/텍스트 상자를 사용하지 않는 사용자 지정 구성 요소로 사용자 입력을 허용하는 페이지를 개발 중입니다. 입력 내용은 명령 프롬프트와 유사하지만 사용자가 입력 작업을 할 때 백 스페이스를 사용할 수 없다면 악취가납니다. – walnutmon