위조 링크 의 차이

1179 단어 JavaScripthtml
<a href='javascript:;'></a>
<a href='javascript:void(0)'></a> <!--         -->

이것들 은 모두 광범 위 하 게 사용 되 는 위조 링크 를 만 드 는 방법 으로 절대 다수의 상황 에서 그들 은 일 을 잘 한다.그러나 윈도 우즈. unload 이 벤트 를 동시에 등록 하면 IE8 / 9 등 브 라 우 저 에서 unload 이 벤트 를 먼저 터치 한 다음 에 위조 링크 에 연 결 된 이 벤트 를 터치 합 니 다.
예 를 들 면:
<a href='javascript:;' onclick='alert("OK")>click me</a>
<script>
window.unload = function(){
   return confirm("       ?");
}
</script>

'이 페이지 를 떠 나 시 겠 습 니까' 라 는 알림 이 먼저 뜨 고 'OK' 가 뜨 게 됩 니 다.페이지 를 떠 나 는 것 을 확인 하 는 것 은 무엇 을 클릭 하 든 소 용이 없다.우리 의 진정한 기 대 는 '클릭 미' 를 누 르 면 'OK' 만 나 오 는 것 이다.
그럼 어떻게 해 결 했 어 요?href = '\ # \ #' 대신 href = 'javascript:;' 을 사용 할 수 있 습 니 다.위의 예 는 다음 과 같이 수정 할 수 있다.
<a href='###' onclick='alert("OK")>click me</a>
<script>
window.unload = function(){
   return confirm("       ?");
}
</script>

이렇게 하면 IE8 / 9 의 문 제 를 쉽게 해결 할 수 있 습 니 다. 이 방법 은 Chrome / fireforx, IE10 + 에서 도 잘 작 동 합 니 다.

좋은 웹페이지 즐겨찾기