우리가 흔히 a 태그에 onclick 속성을 이용하여 팝업이나 메시지 등 자바스크립트를 사용하게 되는데
이럴 경우 대부분 아래와 같은 코드를 사용할 것입니다.
<a href="http://www.daum.net/" onclick="Popup(this.href); return false;">팝업</a>
이때 특정 IE에서는 뒤에 있는 return false;가 무시되는 경우들이 발생하여 팝업이 뜨고 본창도 href에 있는 주소로 이동하는 경우들이 발생합니다.
이러한 것은 IE의 버그로 보이며 이 버그를 피하기 위해서는 아래와 같은 함수와 코드를 사용하면 됩니다.
<script type="text/javascript">
//<![CDATA[
function preventDefaultAction(rtnValue) {
if (!rtnValue)
{
if (typeof event.preventDefault!= 'undefined') {
event.preventDefault(); // W3C
} else {
event.returnValue = false; // IE
}
}
return rtnValue;
}
function Popup(address) {
alert(address);
window.open(address, "popup", "width=500px, height=500px, top=10px, left=10px, scrollbars=yes, resizable=yes");
return preventDefaultAction(false);
}
//]]>
</script>
<a href="http://www.daum.net/" onclick="return Popup(this.href);">팝업</a>