void는 표현식이 평가되지만 값을 반환하지 않음을 지정하는 Javascript의 연산자입니다.
void 연산자 사용 형식은 다음과 같습니다.
1. javascript:void(표현식)
2. javascript:void 표현식
expression은 평가할 Javascript 표준 표현식입니다. 표현식 외부의 괄호는 선택 사항이지만 작성하는 것이 좋습니다.
void 연산자를 사용하여 하이퍼링크를 지정할 수 있습니다. 표현식이 평가되지만 현재 문서에는 아무것도 로드되지 않습니다.
예 - 하이퍼링크를 클릭해도 점프하지 않습니다
링크를 클릭하면 페이지가 페이지 상단까지 스크롤됩니다. # 기본 앵커 포인트는 #TOP입니다(실제 테스트에서는 스크롤 막대가 상단으로 스크롤되는 것으로 나타났습니다). 데드 링크는 모두 데드 링크를 나타내며 점프하여 상위로 돌아오지 않습니다.
예 - 왜 location.href가 자동으로 점프하지 않나요?
<a href="javascript:void(0)" onclick="delete('123')">删除</a> function delete(id){ if(confirm("确实要删除[为什么location.href不自动跳转?]吗?")) { location.href="/delete.jsp?id=" + id; } }
위 코드를 아무리 확인해도 문제가 없는데, location.href="/delete.jsp?id=" id=" 이 코드가 다른 곳에서는 잘 동작하는 이유는 무엇일까요?
이유는 void(0)가 코드를 다음과 같이 변경했기 때문입니다.
<a href="javascript:delete('123')">删除</a>function delete(id) { if(confirm("确实要删除[为什么location.href不自动跳转?]吗?")) { location.href="/delete.jsp?id=" + id; } }
페이지가 바로 점프되어 해당 데이터가 정상적으로 삭제될 수 있는 것을 확인했습니다.
void는 연산자이기 때문에 표현식을 계산하지만 값을 반환하지는 않습니다. 물론 현재 페이지의 내용을 변경하지 않으며 정상적으로 점프하지도 않습니다.
설명
void 연산자는 표현식을 평가하고 정의되지 않은 값을 반환합니다. 이 연산자는 표현식을 평가하고 싶지만 그 결과가 스크립트의 나머지 부분에 표시되는 것을 원하지 않을 때 가장 유용합니다.
링크(href)에 javascript:void(0)를 직접 사용하면 IE에서 gif 애니메이션 재생이 중단되는 등의 문제가 발생할 수 있습니다. 따라서 가장 안전한 방법은 "#"을 사용하는 것입니다. 링크를 클릭한 후 페이지 상단으로 이동하는 것을 방지하기 위해 onclick 이벤트가 false를 반환할 수 있습니다.
PS: href=#과 href=javascriptvoid(0)의 차이점
#'에는 위치 정보가 포함되어 있습니다.
기본 앵커 포인트는 웹페이지 상단인 #top입니다.
그리고 javascript:void(0)은 데드 링크를 나타냅니다
이것이 때때로 페이지가 매우 길고 탐색 링크가 # 명확하지만 페이지 상단으로 이동하는 이유입니다
그리고 javascript:void(0)
이는 사실이 아니므로 스크립트 호출 시 void(0)
를 사용하는 것이 가장 좋습니다.
또는 <클릭 시 입력>
새 창에서 링크를 여는 여러 가지 방법
1.window.open('url')
2. 맞춤 기능을 사용하세요
<script> function openWin(tag,obj) { obj.target="_blank"; obj.href = "Web/Substation/Substation.aspx?stationno="+tag; obj.click(); } </script> <a href="javascript:void(0)" onclick="openWin(3,this)">LINK_TEST</a> window.location.href=""
---------------------------------- --- -------------------
#이면 맨 위로 이동합니다. 개인적으로 좋아하는 솔루션:
1:
2:
3:
4:
5: (FF에서는 표시할 수 없는 것 같습니다)
---------------------------------- --- -------------------
위 내용은 편집자가 javascript:void(0)의 의미와 href=#과 href=javascriptvoid(0)의 차이점을 소개하는 내용입니다.