<script language="JavaScript">
<!--
function CheckEnter()
{
    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 컨트롤이 아닌 곳에 엔터키를 쳤을때는

아무런 반응이 없게 합니다.

+ Recent posts