페이지를 만들 때 링크를 클릭 한 후 아무것도하지 않거나 클릭에 응답하여 다른 일을 완료하려면 href = "#"속성을 설정할 수 있지만, 페이지에 문제가있을 때, 즉 페이지에 문제가 있습니다. 스크롤 막대는 클릭 한 후 페이지 상단으로 돌아가 사용자 경험이 좋지 않습니다.
현재 몇 가지 해결책이 있습니다.
1) 링크를 클릭 한 후에는 아무것도하지 않습니다
코드 사본은 다음과 같습니다.
<a href = "JavaScript : void (0);"
<a href = "JavaScript :;> 테스트 </a>
<a href = "####"> test </a> // 2 ~ 4#을 사용하고 대부분은 "####"이며 일부는 "#all"및 기타 사용
2) 링크를 클릭 한 후 사용자 정의 클릭 이벤트에 응답하십시오.
코드 사본은 다음과 같습니다.
<a href = "javaScript : void (0)"onclick = "dosomething ()"> test </a>
<a href = "#"onclick = "doSomething (); return false;"> 브라우저 비 호환성 문제를 포함하여 모든 문제가 해결되었습니다 </a> // href = "" "직접 사용
<a href = "#"onclick = "alert (); event.returnValue = false;"> test </a>
설명 :
1. 자바 스크립트 : void (0)는 덜 쓰여진 의사 프로토콜입니다. (이해가 안 돼요, 원래 단어를 골랐고 기록을 계속 유지하겠습니다)
2. JavaScript 사용 : void (0) IE에서 직접 void (0)는 다음과 같은 몇 가지 문제를 일으킬 수 있습니다. 링크를 클릭 한 후 OnClick 이벤트가 페이지 상단으로 점프하지 않도록하려면 OnClick 이벤트가 False를 반환 할 수 있습니다.
3. 마우스를 움직여 손 모양으로 바꾸고 싶다면 사용할 수 있습니다.
코드 사본은 다음과 같습니다.
<span style = "cursor : pointer"onclick = "foo ()"> 나를 클릭하십시오! </span>
void는 JavaScript의 연산자입니다. 즉, 표현 만 실행되지만 반환 값은 없습니다.
공극 연산자의 사용 형식은 다음과 같습니다.
코드 사본은 다음과 같습니다.
JavaScript : void (표현)
JavaScript : void 표현
좋은 프로그램 스타일을 위해서는 브래킷과 함께 두 번째 유형을 사용하는 것이 좋습니다.
void 연산자를 사용하여 javaScript : void (document.form.submit ())와 같은 하이퍼 링크를 지정할 수 있습니다. 표현식은 계산되지만 현재 문서에서 아무것도로드하지는 않지만 (0)은 0으로 계산됩니다. <a href = "javaScript : void (1)">와 동일합니다.
핵심은 void가 javascipt 자체의 연산자라는 것을 아는 것입니다. 즉, 표현 만 실행되지만 반환 값은 없습니다!
또한 "#"의 기본 조준 위치가 상단이므로 페이지가 자동으로 상단으로 다시 조정 되므로이 상황이 발생합니다.