<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 컨트롤이 아닌 곳에 엔터키를 쳤을때는
아무런 반응이 없게 합니다.
'.net' 카테고리의 다른 글
.NET 애플리케이션 개발 팁 18가지 #4 (0) | 2007.05.03 |
---|---|
.NET 애플리케이션 개발 팁 18가지 #5 (0) | 2007.05.03 |
IIS 6.0 + ASP.NET 에서 HTTP 압축 사용하기 (0) | 2007.05.03 |
웹페이지에서 자바스크립트로 컨트롤 찾기 (0) | 2007.05.03 |
자식창에서 부모창의 이벤트 실행하기 (0) | 2007.05.03 |