질문 : JavaScript 링크 "#"또는 "javascript : void (0)"에는 어떤 "href"값을 사용해야합니까?
다음은 JavaScript 코드 실행만을 목적으로하는 링크를 작성하는 두 가지 방법입니다. 기능, 페이지로드 속도, 유효성 검사 목적 등에서 어느 것이 더 낫습니까?
function myJsFunc() {
alert("myJsFunc");
}
<a href="#" onclick="myJsFunc();">Run JavaScript Code</a>
또는
function myJsFunc() {
alert("myJsFunc");
}
<a href="javascript:void(0)" onclick="myJsFunc();">Run JavaScript Code</a>
답변
javascript:void(0)
합니다.
세 가지 이유. #
사용을 장려하면 필연적으로 다음과 같은 함수의 반환 값을 사용하게됩니다.
function doSomething() {
//Some code
return false;
}
그러나 그들은 사용에 잊지 return doSomething()
의 onclick에 그냥 사용 doSomething()
.
#
을 피하는 두 번째 이유는 최종 return false;
호출 된 함수에서 오류가 발생하면 실행되지 않습니다. 따라서 개발자는 호출 된 함수에서 오류를 적절히 처리하는 것을 기억해야합니다.
onclick
이벤트 속성이 동적으로 할당되는 경우가 있기 때문입니다. 특정 연결 방법 또는 다른 방법에 대해 함수를 코딩하지 않고도 함수를 호출하거나 동적으로 할당 할 수있는 것을 선호합니다. 따라서 onclick
(또는 기타)은 다음과 같습니다.
onclick="someFunc.call(this)"
또는
onclick="someFunc.apply(this, arguments)"
javascript:void(0)
하면 위의 모든 두통을 피할 수 있으며 단점의 예를 찾지 못했습니다.
따라서 혼자 개발자라면 분명히 스스로 선택할 수 있지만, 팀으로 일한다면 다음 중 하나를 명시해야합니다.
사용 href="#"
onclick
항상 return false;
포함하는지 확인하십시오. onclick
속성에 함수를 동적으로 연결하는 경우 오류를 발생시키지 않고 false
반환하는지 확인합니다.
또는
href="javascript:void(0)"
두 번째는 의사 소통이 훨씬 쉽습니다.
출처 : https://stackoverflow.com/questions/134845/which-href-value-should-i-use-for-javascript-links-or-javascriptvoid0
'프로그래밍 언어 > JAVA' 카테고리의 다른 글
JAVA Implements vs extends 차이점과 사용시기 (0) | 2021.12.29 |
---|---|
Java 쿼리 문자열 매개 변수의 URL 인코딩 (0) | 2021.12.19 |
Java Swing에서 set (Preferred | Maximum | Minimum) Size 메서드를 사용하면 안되는 이유 (0) | 2021.12.19 |
Java Class에서 canonical name, simple name, class name의 차이점 (0) | 2021.12.15 |
jQuery를 사용하여 JavaScript 개체에서 select 항목에 옵션을 추가하는 가장 좋은 방법 (0) | 2021.12.14 |