어떤 &quot href"; # &quot 값을 사용해야 하는 JavaScript 를 링크, "; 또는 &quot &quot, javascript: void (0),?

다음은 두 가지 방법 중 유일한 목적은 JavaScript 코드를 실행할 수 있는 링크를 건물이 있다. 어떤 것이 더 측면에서 페이지 부하 기능, 속도, 검증 작업을 등?

<! - begin 스니핏: js 숨기십시오: &gt 거짓값 -;

function myJsFunc() {
    alert("myJsFunc");
}
<a href="#" onclick="myJsFunc();">Run JavaScript Code</a>

끝 - &lt 스니핏 >;!

또는

<! - begin 스니핏: js 숨기십시오: &gt 거짓값 -;

function myJsFunc() {
    alert("myJsFunc");
}
 <a href="javascript:void(0)" onclick="myJsFunc();">Run JavaScript Code</a>

끝 - &lt 스니핏 >;!

질문에 대한 의견 (27)

내가 사용하는 'javascript: void (0)'.

세 가지. 어쩔 수 없이 사용할 수 있도록 '#' 의 개발자 팀 가운데 일부 반환 값을 사용하여 다음과 같은 함수 호출됨

function doSomething() {
    //Some code
    return false;
}

그런데 망각한 도주메트링 반품하십시오 온 클릭 () '를 사용할 수 있는' () '및' 도주메트링 됩니다.

두 번째 이유는 '#' 마지막 ',' 는 것은 피할 수 없는 경우 거짓값 반품하십시오 실행하십시오 함수은 불렀으매 던지는 오류가 발생했습니다. 또한 개발자가 처리할 수 있는 기능을 적절히 불렀으매 업그레이드됨 너희에게베풀어진 오류가 있다고 할 수 있다.

제 3 점도 이유가 있는 경우가 온 클릭 '이벤트' 속성 할당되었는지 무중단으로. 내가 포지셔닝하십시오 에셋을 동적으로 할당할 수 있는 함수 호출 함수를 특별히 코드 또는 필요 없이 한 가지 방법은 부착품 또는 다른. '내' (또는 아무것도) 에서 온 클릭 업그레이드됨 HTML 마크업 다음과 같습니다.

onclick="someFunc.call(this)"

또는

onclick="someFunc.apply(this, arguments)"

위의 모든 사용하여 javascript: void (0) '' 하면 저는 # 39, 두통, haven& 예는 전혀 잡히지 않는다.

만일 you& # 39, re 외로운 개발자 그런 다음, 자신의 선택 할 수 있도록 확실히요 신앙이니라 너회가 팀웍을 인컨텍스트 상태:

',', ',' Href = &quot 사용하여 &quot smartupdate 온 클릭 ',' 항상 포함되어 있는 거짓값 반품하십시오 오류가 발생하여 결국 함수은 불렀으매 던질 수 없는 경우 '속성' 온 클릭 부착합니다 함수은 무중단으로 오류가 아닌 '거짓' 이 아니라 되돌려줍니다 하고 있는지 확인합니다.

또는

Href = &quot 사용하여 javascript: void (0) ',' &quot.

두 번째는 확실히요 통신하도록 훨씬 쉬워진다.

해설 (29)

괜찼습니다.

실제 url 을 사용할 수 있는 경우 그 의미가 HREF. # 39 는 won& 온 클릭, t 볼지옥으로 누군가 중간 클릭 https://partner. microsoft. 새 탭 열기 또는 javascript 를 가질 경우 비활성화됨.

가능하지 않은 경우 적어도 다음 JavaScript 와 문서로 앵커 태그에 합니다 투입 및 해당 이벤트 핸들러도 클릭합니다.

난 항상 내 의견으로는 수 있지만, t # 39 isn& 실현하기 위한 어떠한 공식 웹 사이트 개발에 노력해 한다.

해설 (10)

&Quot &lt 하고, 'a href = "; 온 클릭 ();;;;;; = &quot 미제스풍크 &quot &gt Link&lt /a&gt &lt, javascript: void (0) '또는' a href = &quot "; 온 클릭 ();;;;;; = &quot 미제스풍크 &quot &gt Link&lt /a&gt '또는' 는 '속성이 있는 다른 모든 온 클릭 - 5 년 전 이제 나쁜 관행을 뒤로를 그땅은 표시되어도 수 있습니다. # 39 의 here& 이유:

  1. It 는 JavaScript 의 관행을 강요하는 디스크입니다. diskid 어려울 것으로 드러나 유지하기 어렵고 배율입니다. 이에 대한 더 많은 눈에 띄지 않는 JavaScript .

  2. 39, re 움켜쥐고하나님을 you& 먹어서나 믿을 수 없을 정도로 매우 적은 시간 내에 지나치게 verbose 코드 - 디스크입니다. diskid 급여금 데이터베이스에구성원을 코드 (있는 경우).

  3. 현재는 더욱 더 쉽고, 유지 관리 및 확장할 수 있는 방법을 원하는 결과를 인물이다.

이 눈에 띄지 않는 JavaScript 운행에서어떠한

그냥 ',' t have a href 속성이 전혀 don& # 39! Css 재설정하지 사냥하기 죽이려하겠어요 잘있게나 실종자 기본 커서 스타일 도왔으매 는 비 문제. 그럼 너회의 부착합니다 JavaScript 기능이 있는 JavaScript 를 사용하여 더 품위 있고 눈에 띄지 않는 모범 사례 - JavaScript 에서 계속 유지 관리, 사용자 대신 논리 개발에 필수적인 수정표시 - 시작할 때 JavaScript 애플리케이션과도 수 있는 대규모 필요한 논리 구성 요소 및 템플릿일 블랙상자드 나뉩니다. 이에 대한 자세한 내용은 대규모 JavaScript 애플리케이션 아키텍처

간단한 코드 예제

<! - begin 스니핏: js 숨기십시오: &gt 거짓값 -;

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a class="cancel-action">Cancel this action</a>
// Cancel click event
$('.cancel-action').click(function(){
    alert('Cancel action occurs!');
});

// Hover shim for Internet Explorer 6 and Internet Explorer 7.
$(document.body).on('hover','a',function(){
    $(this).toggleClass('hover');
});
a { cursor: pointer; color: blue; }
a:hover,a.hover { text-decoration: underline; }

끝 - &lt 스니핏 >;!

A 블랙상자드 박봉엘가이스

예를 들어, 박봉엘가이스 블랙상자드 확장가능, 구성 요소 [5] - [이 슬라이드에서는 이스피들 apc® uxfs 여기서요]. 우리가 어떻게 디이브이 JavaScript 활용 사례, 그리고 구성 요소가 눈에 띄지 않는 작은 양의 코드 페이지에 걸쳐 여러 번 반복될 수 있는 부작용을 싸움이나 갈등 없이 다른 구성 요소가 인스턴스입니다. 놀랍슴돠!

유라유라테이코쿠

'-' A '요소' 를 생략할 href 속성에 액세스할 수 없는 요소를 사용하여 '탭' 이동줄에 주요 원인이 된다. 이러한 요소를 통해 액세스하도록 하려면 '탭' 키 '속성' 단추를 사용하여 요소를 대신 '또는' tabindex 설정할 수 있습니다. 일반 링크 스타일입니까 버튼를 요소를 쉽게 설명한 것처럼 보일 수 있습니다 Tracker1& # 39 의 오토메이티드 .

'-' A '요소' 를 생략할 href 속성을 하면 Internet&;; 빨리, 빨리 Explorer&amp 6Internet&amp 빨리, 빨리 Explorer&;; 7 를 취하지 않고 있는 '스타일, 이것이 우리가 추가한 간단한 JavaScript 위에 있는:' 심 '대신' 를 통해 이를 위해 앨하버. 이 때, a href 속성이 완벽하게 그땅은, # 39 don& 없는 안전한 디그레이드를 없고 그런후에도 너회의 https://partner. won& # 39 더 큰 문제를 가지고, ll, t 작동합니까 어쨌든 리스토어와 you& # 39 걱정하지 않을 수 없다.

  • JavaScript 비활성화됨 작동합니까 스케쳐내 아직 작업 후 'a' 와 'href 속성을 사용하여 요소' 를 통해 Ajax 작업을 수행할 수 있는 일부 uirl 마이그레이션된 않고 수동으로 요청 또는 어떤 길을 갈 번호여야 합니다. 이렇게 할 경우 다음 '을 수행할 수 있도록 운영까지도 에번트리프레벤트데포트 ()' 를 불러 smartupdate 버튼을 클릭할 때 링크를 따르지 않습니다. 이 옵션을 호출됨 안전한 디그레이드를.
해설 (12)

& # 39, & # 39 ',' 은 사용자 페이지 상단에 있는, 그래서 일반적으로 시행하십시오 백됩니다 검색하기를 'void (0)'.

',' 도 'javascript: void (0),' 같은 동작을 javascript:

해설 (8)

꼭 이래야겠어요 장난하는거아니고 제안하세요 괜찼습니다. 난 ',' 에 대해, 해당 비헤이비어를 /button&gt button&gt, &lt &lt, 개성 있는 사용합니다.

<! - begin 스니핏: js 숨기십시오: 거짓값 콘솔: 진정한 바벨. &gt 거짓값 -;

button.link {
  display: inline-block;
  position: relative;
  background-color: transparent;
  cursor: pointer;
  border: 0;
  padding: 0;
  color: #00f;
  text-decoration: underline;
  font: inherit;
}
<p>A button that looks like a link.</p>

끝 - &lt 스니핏 >;!

이렇게 할당하십시오 온 클릭 수 있습니다. 난 또 제안하세요 사용하지 않는 ',' 요소에 대한 속성 태그이고, 스크립트를 통해 바인딩하면 온 클릭 유사 3d 는 텍스트 효과가 없는 유일한 장점 tfsnap 대행사를 본사를 비활성화해야.

  • 사용하여 javascript: void * 요소를 사용하는 경우 한다 ' (0),' 이유 등으로 인해 이미 언급되지 않았다.

  • 온 클릭 이벤트 요격할 수 있는 경우에는 항상 실패합니다.

  • 다른 이벤트, 또는 잘못된 일이 없을 페이징됩니다 로드하십시오 트리거할 기반으로 해시보다 변경

  • 해시 태그를 통해 예상치 못한 결과를 초래할 수 있는 경우, 이를 피할 it& # 39 를 폭포 (온 클릭 던지는) 의 실패로 끝나다 비헤이비어를 변경할 경우 적절한 탐색 및 역사.

참고: '0' 와 같은 문자열으로 교체할 수 있는 javascript: void (& # 39, 기록하십시오 삭제하시겠습니까 123& # 39;) '' 은 실제로 어떤 역할을 할 수 있는 추가 표시등입니다 표시되는 클릭하면 됩니다.

해설 (7)

특히 첫 번째 경우에 따라 사용자가 있는 실질적 https://partner. microsoft. JavaScript 비활성화되었습니다. 그냥 smartupdate 반환되기를 막기 위해 JavaScript 의 경우 실행하므로 거짓값 클릭 이벤트 발생.

<a href="#" onclick="myJsFunc(); return false;">Link</a>

Angular2 사용하는 경우, 이러한 방식으로 작동합니다.

'&lt 매핑되며, [루터링크] = &quot "; (클릭) = ";;;; ' () 를 파스트라우스 &quot &gt me&lt /a&gt.

여기를 참조 https://stackoverflow.com/a/45465728/2803344

해설 (12)

괜찼습니다 묻는 날.

&Quot 경우 link"; # 39 는 JavaScript 코드를 실행하는 유일한 목적은 doesn& 일부 정보기술 (it), t 자격을 https://partner. 오히려 하나의 텍스트에서처럼 JavaScript 함수 결합된 것이다. 꼭 이래야겠어요 사용할 수 있는 ',', '&lt 추천합니까 span&gt 태그번호 온 클릭 몇 가지 기본적인 CSS 를 이미테이트 처리기에서' 정보기술 (it) 과 연결된 링크를. 링크는 isn& JavaScript 코드를 사용할 경우, 탐색, 네비게이션 t # 39 한 ',' 태그이고, a&gt &lt 안 됩니다.

예:

<! - begin 스니핏: js 숨기십시오: 거짓값 콘솔: 진정한 바벨. &gt 거짓값 -;

function callFunction() { console.log("function called"); }
.jsAction {
    cursor: pointer;
    color: #00f;
    text-decoration: underline;
}
<p>I want to call a JavaScript function <span class="jsAction" onclick="callFunction();">here</span>.</p>

끝 - &lt 스니핏 >;!

해설 (9)

이렇게 하는 것이 가장 이상적인 you& # 39; d:

<a href="javascriptlessDestination.html" onclick="myJSFunc(); return false;">Link text</a>

39, 또는 더 나아가 you& d 가 기본 동작을 링크를 HTML, you& 이벤트를 통해 온 클릭 후 추가 요소는; d # 39 의 JavaScript 방해가 되지 않게 하여 JavaScript 가 없음 / 활용할 수 있는 경우에는 DOM 렌더링합니다 너회가 don& 쓸모 없는 이벤트 핸들러도 코드에서 # 39, 그리고 잠재적으로 난독 박아 없다 (또는 최소한 이를 에서) 실제 컨텐트입니다.

해설 (0)

그냥 사용하는 과정에서 일부 선택특수 도왔으매 꼭 이래야겠어요 추천합니까 '#' # '재미' 를 사용하기 위한 자체 노력을 bla bla JavaScript 에 저장할 경우, ','.

해설 (5)

난 다음

<a href="javascript:;" onclick="myJsFunc();">Link</a>

대신

<a href="javascript:void(0);" onclick="myJsFunc();">Link</a>
해설 (3)

내가 다른 url 이 제안을 동의하지 않았다는 일부 자바스크립트 함수를 호출하여 콩지름에 href 속성에 '일반' 에서 온 클릭. 이 후, 그들이 '막' 는 추가 오토 마티카리 거짓값 반품하십시오 가능하다.

문제는 이런 방식은 문제가 있을 경우 그 기능이 작동하지 않을 경우, 또는 링크를 엉클리케이블 됩니다. 그래서 항상 온 클릭 이벤트 ',' 거짓값 복귀하십시오 불렀으매 일반 uirl 않을 것입니다.

39, there& 아주 단순한 솔루션. 'True' 반품해야 함수은 제대로 작동하는지 보자. 그런 다음 반환되었습니다 값을 선택취소됩니다 방관하겠나 클릭 수 있는지 여부를 결정할 수 있어야 합니다.

  • JavaScript *
function doSomething() {
    alert( 'you clicked on the link' );
    return true;
}
  • HTML *
<a href="path/to/some/url" onclick="return !doSomething();">link text</a>

참고로, 저는 그 결과 도주메트링 반전시킵니다 ' ()' 기능을. '진정한' 가 있기 때문에, 이 경우 작동하잖아 반환되므로 반전시킵니다 ('거짓') 과 'path / to / / uirl 않을 일부' 라고 합니다. 만약 함수가 반환되므로 '거짓' (예를 들어, 브라우저 doesn& # 39, 뭔가 잘못 사용되는 함수 또는 다른 사항은요 댁이라면 t 지원), 이는 일부 '와' 부정 'true' 로 path / to / / URL 입니다.

해설 (0)

그 다음은 아무것도 ',' # '는 javascript:' 보다 더 좋다.

HTML:

<a href="/gracefully/degrading/url/with/same/functionality.ext" class="some-selector">For great justice</a>

JavaScript:

$(function() {
    $(".some-selector").click(myJsFunc);
});

항상 안전한 디그레이드를 위한 성전 (발생한 사용자 doesn& # 39 는 JavaScript 네이블d.랜드 없는 경우, 사양. 및 예산). 또 고려되는지 나쁜거라 양식을 JavaScript 를 사용하는 특성 및 프로토콜 직접 HTML.

해설 (1)

39 의 리더십과 처우를 모니카 SO& 재거됨 오토메이티드 시위를 벌였다.

해설 (3)

39 한 you& 먹어서나 아웃해야 https://partner. JavaScript 를 사용하여, re (it& 알 수 있도록, s # 39 에서 활성화되었는지 browser) 는 JavaScript 를 사용하여 검색할 수 있어 가장 적절한 링크 합니다 백성을위한 중지되 자신들에관한 기본값입니다 행동은 온 클릭 이벤트 핸들러를 고리입니다. 이렇게 그 기능을 가진 자들이 JavaScript 는 JavaScript 와 활성화됨 실행하십시오 비활성화됨 오른다는 적절한 페이지 (또는 위치 같은 페이지 내에서) 보다는 그냥 링크를 클릭하면 구매와 아무것도아니야 일어날 수 있습니다.

해설 (0)

('#') 가 잘 JavaScript 컴포지션이 싸이도셰메 말해둘꼐요 해시라고 있기 때문이다.

이 오염 기록 1. 2. 인스턴스화 새로운 복제본입니다 engine 3) 에서는 글로벌 범위 및 doesn& # 39, t 존중하십시오 이벤트 시스템이다.

물론, # &quot &quot. [훨씬] 는 기본 동작을 통해 더 나은 처리기에서 온 클릭 수 없게 됩니다. 뿐만 아니라, javascript 를 실행할 수 있는 링크를 독점판매권을 &quot link&quot 매핑되며, 그렇지는 않습니다. 사용자에게 보내는 경우가 아니면 그 페이지의 일부 앵커 (그냥 # 보낼 상단형) 때 뭔가 잘못된. 링크 (look and feel) 을 통해 시뮬레이트를 됩니다 스타일시트와 잊고 href 전혀.

또한 cowgod& # 39 의 제안에 관한, 특히 이: '자하레프 = &quot javascript_required.html"; 하지만, 이런 현상은 온 클릭 = &quot 외곽진입 doesn& 구분할 수 없다. ', JavaScript, &quot disabled&quot # 39. 그리고 온 클릭 fails&quot "; 시나리오에서와.

해설 (1)

난 보통 (go for

<a href="javascript:;" onclick="yourFunction()">Link description</a>

39 에 비해 낮은 높여줍니까 it& javascript: void (0) 와 동일한.

해설 (0)

내가 사용하게 된다.

<a href="#" onclick="myJsFunc();return false;">Link</a>
  • Reasons:*
  1. 따라서 단순 검색 엔진 ',' href 필요해 다른 사항은요 사용할 경우 (같은 문자열), 'a' 404 오류가 없는 일으킬 수 있습니다.
  2. 39 이 링크를 통해 때 마우스용 압핀 doesn& 있음을 보여, t 는 스크립트입니다.

  3. 39, t ',' doesn& 거짓값 반품하십시오 사용하여 페이지의 상단에 있는 '또는' 버튼를 이동줄을 분할합니다 뒤로를.

해설 (1)

이 때문에 사용하여 javascript: void (0) ',' 내가 원하는 오른쪽 단추를 누르면 메뉴 컨텐츠 열어보려면 막을 수 있습니다. 하지만 '같은 것입니다.' 는 짧고 높여줍니까 javascript:;

해설 (0)

따라서 일부 수행하는 경우 ',' 태그 및 /&gt &lt 셨으며 JavaScript 로 놓으면, a href = &quot ',' 뿐만 아니라, # &quot 끝에 이벤트 거짓값 반품하십시오 추가할 수 있습니다 () 의 경우, 인라인 이벤트 바인딩하면) 다음과 같습니다.

<a href="#" onclick="myJsFunc(); return false;">Run JavaScript Code</a>
      • Href 속성이 JavaScript like:* 또는 변경할 수 있습니다.
<a href="javascript://" onclick="myJsFunc();">Run JavaScript Code</a>
  • 또는 *
<a href="javascript:void(0)" onclick="myJsFunc();">Run JavaScript Code</a>

하지만, 위의 모든 의미 있는 성과를 올릴 수 있는 이 잘못된 (작동하잖아 미세 표시되어도) . 모든 요소가 있는 것을 만들지 않은 경우 이동하시기 페이지에서든 JavaScript 연관된 일부 경우에는 a ',' 태그이고, a&gt &lt 안 됩니다.

단순히 ',' 대신 사용할 수 있습니다, 버튼를 &lt /&gt to do things, 또는 어떤 필요에 따라 같은 b 또는 다른 요소를 스팬할 부응합니다 잡깐 때문에 모든 요소에 대한 이벤트를 추가할 수 있습니다.

그래서, , 사용할 수 있어 한 가지 급여금 &lt &quot, # &quot &gt ',' a href =. 기본적으로 이 요소가 커서 포인터입니다 확보하십시오 작업을 할 때 ',' a href = &quot, # &quot. 이를 위해 이 같은 ',' I think you can CSS 를 사용하여 이 문제를 해결할 수 있는 커서 포인터입니다 있다.

그리고 결국 바인딩하면 JavaScript 에서 코드 자체를 할 수 있는 경우, 거기 '이벤트' 를 사용하는 경우, 이를 &lt a&gt 에번트리프레벤트데포트 () ',' a ',' 태그 태그 있지만 &lt a&gt 사용하지 않는 경우, 이를 위해 좁히어 확보하십시오 유리하게 don& # 39, t 이 작업을 수행해야 할 수 있습니다.

그래서 볼 경우, 이러한 형태의 태그를 사용하여 물건을 it& # 39 의 하지 않는 게 좋다.

해설 (0)
  • 39 링크를 사용하기 위한 용도로만 호스팅하면서 JavaScript.* Don&, t

&Quot 사용하는 href = "; 페이지 맨 위로 스크롤됩니다. void (0) 가 사용하는 브라우저 내에서 문제를 탐색.

대신 이외의 요소를 사용하여 링크:

<span onclick="myJsFunc()" class="funcActuator">myJsFunc</span>

It 및 스타일 CSS 와 함께:

.funcActuator { 
  cursor: default;
}

.funcActuator:hover { 
  color: #900;
}
해설 (3)