> 웹 프론트엔드 > JS 튜토리얼 > javascript:void(0)의 의미와 href=#과 href=javascriptvoid(0)_javascript 기술의 차이점

javascript:void(0)의 의미와 href=#과 href=javascriptvoid(0)_javascript 기술의 차이점

WBOY
풀어 주다: 2016-05-16 15:32:25
원래의
1684명이 탐색했습니다.

void는 표현식이 평가되지만 값을 반환하지 않음을 지정하는 Javascript의 연산자입니다.

void 연산자 사용 형식은 다음과 같습니다.

1. javascript:void(표현식)

2. javascript:void 표현식

expression은 평가할 Javascript 표준 표현식입니다. 표현식 외부의 괄호는 선택 사항이지만 작성하는 것이 좋습니다.

void 연산자를 사용하여 하이퍼링크를 지정할 수 있습니다. 표현식이 평가되지만 현재 문서에는 아무것도 로드되지 않습니다.

예 - 하이퍼링크를 클릭해도 점프하지 않습니다

1:

2:

3:

4:

링크를 클릭하면 페이지가 페이지 상단까지 스크롤됩니다. # 기본 앵커 포인트는 #TOP입니다(실제 테스트에서는 스크롤 막대가 상단으로 스크롤되는 것으로 나타났습니다). 데드 링크는 모두 데드 링크를 나타내며 점프하여 상위로 돌아오지 않습니다.

예 - 왜 location.href가 자동으로 점프하지 않나요?

<a href="javascript:void(0)" onclick="delete('123')">删除</a>
function delete(id){
 if(confirm("确实要删除[为什么location.href不自动跳转?]吗?")) {
  location.href="/delete.jsp&#63;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&#63;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&#63;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)의 차이점을 소개하는 내용입니다.

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿