자료/ASP.NET
컨트롤이 아닌곳에서 엔터키 사용하지 못하게 하기
네오블루
2008. 10. 15. 20:23
<script language="JavaScript">
<!--
functionCheckEnter()
{
try{
if (!e) var e = window.event;
if (document.all) var key = e.keyCode;
else var key = e.which;
if( key == 13 )
{
var tag = e.srcElement ? e.srcElement.tagName : e.target.nodeName ;
// input, textarea, select 에서만 엔터키가 반응하게 한다.
if( tag == "INPUT" || tag == "TEXTAREA" || tag == "SELECT" )
return true;
return false;
}
}catch(e){ return true; }
}
document.onkeydown=CheckEnter;
//-->
</script>
ASP.NET에서 프로그래밍시 웹페이지안에서컨트롤이 아닌 빈공간에 포커스가 있는 상태에서
엔터를 치면 엉뚱한 버튼의 이벤트가 실행되거나 포스트백이 일어나는 경우가 있습니다.
위 소스코드를 사용하면 input, testarea, select 컨트롤이 아닌 곳에 엔터키를 쳤을때는
아무런 반응이 없게 합니다.