2017-10-26 1 views
1

차단 방법이 있습니까 Enter 경고 상자가 나타나면 키보드를 사용 하시겠습니까? 따라서 사용자는 Esc를 누르거나 경고를 제거하려면 Ok 버튼을 클릭해야합니다. 내 앞에 코멘트에 의해 언급 한 바와 같이자바 스크립트 경고를 입력 할 수 없습니다

<script> 
alert('Hello'); 
</script> 
+0

내가 아는 한 경고 상자는 구성 할 수 없으며 대화 상자와 상호 작용할 스크립트를 작성할 수 없습니다. –

+0

아니요. 경고가 문서 외부에 있으며 이벤트 처리를 추가 할 수 없습니다. – Talal

+0

그런 다음 jquery를 사용하는 유일한 방법은 무엇입니까? 맞춤 알림을 만드시겠습니까? –

답변

1

, 자바 스크립트 경고 표준 :

alert("hello world!"); 

을 취급, 스타일, 그리고 자바 스크립트 통제 범위 외부 브라우저에 의해 실행되는 기능입니다.

위와 같이하면 사용자 정의 팝업 상자를 만들어 쉽게 처리 할 수 ​​있습니다.

은 난 아주 많이 스타일링을 통해 갈 아니지만, 아래는 스타일 상자에 구축 할 수있는 몇 가지 코드 :

<div id="alertBox" style="position:absolute;height:100%;width:100%;z-index:9999;background:white"> 
    <div id="alertText" style="position:relative;text-align:center;top:45%"> 
    You must press "esc" to escape! 
    </div> 
</div> 

자바 스크립트 그러나 좀 더 자세히 설명 할 것입니다. 이것은 코드입니다 :

function code(e) { 
    e = e || window.event; 
    return(e.keyCode || e.which); 
} 

document.onkeypress = function(e){ 
    var key = code(e); 
    if(key == 27){ 
     //run some code, they pressed the esc key 
     document.getElementById('alertBox').style.display = "none"; 
    } 
}; 

첫 번째 4 줄의 코드는 "e"라는 변수에 어떤 키가 눌러 졌는지 저장합니다.

document.onkeypress 함수는 키를 누를 때 청취를 시작합니다. "e"변수는 함수에 전달 된 다음 명확성을 위해 "key"라는 변수에 저장됩니다.

"key"변수는 27 번 키보드의 "esc"키 번호와 비교 테스트됩니다. "key"가 일부 코드를 실행하는 것보다 27이면 키를 무시합니다.

여기에서 실행하는 코드는 우리가 작성한 경고 상자를 제거합니다.

도움이 되었기를 바랍니다.

p.s. 이 답변은 jQuery를 사용하지 않지만 jQuery는 프로젝트에 이미있는 경우 코드를 적게 만듭니다.

+0

감사합니다! '키 코드 == 27'의 일부가 지금 내 경고를 검색하는 것입니다 –

+0

helo YAHsaves, 키 27이 작동하지 않습니다 ... 어떤 이유입니까? –

+0

당신은 나에게 이유를 알기 위해 이것을 적용한 코드를 내게 주어야 할 것이다. 만약 내가 HTML과 자바 스크립트를 내 대답에 제공된 문서로 복사하면 작동한다. 따라서이 코드를 어떻게 적용 하느냐에 따라 다릅니다. – YAHsaves

관련 문제