및 속성 이 모두 설정된 앵커가 있습니다 . 클릭하고 Javascript가 활성화되어 있으면 실행 하고 무시 하고 싶습니다 . 마찬가지로 Javascript가 비활성화되었거나 지원되지 않는 경우 URL 을 따르고 . 다음은 JS를 실행하고 동시에 링크를 따라가는 작업의 예입니다 (일반적으로 JS가 실행 된 다음 페이지가 변경됨).HREF
ONCLICK
ONCLICK
HREF
HREF
ONCLICK
<A HREF="http://example.com/no-js-login" ONCLICK="yes_js_login()">Log in</A>
이를 수행하는 가장 좋은 방법은 무엇입니까?
Javascript 답변을 기대하고 있지만 작동하는 한 모든 방법을 수락합니다. 특히 PHP로 수행 할 수있는 경우에는 더욱 그렇습니다. 나는 이미 ” 자바 스크립트 onclick 함수가 완료 될 수 있기 전에 href 링크가 실행되고 페이지를 리디렉션 “을 읽었 지만 지연 될뿐 HREF
완전히 비활성화하지는 않습니다. 또한 훨씬 더 간단한 것을 찾고 있습니다.
답변
onclick
속성 에서 return을 먼저 넣으면 편집되지 않은 첫 번째 솔루션을 사용할 수 있습니다 .
<a href="https://example.com/no-js-login" onclick="return yes_js_login();">Log in</a>
yes_js_login = function() {
// Your code here
return false;
}
예 : https://jsfiddle.net/FXkgV/289/
답변
yes_js_login = function() {
// Your code here
return false;
}
false를 반환하면 기본 작업 (href로 이동)을 방지해야합니다.
편집 : 작동하지 않는 것 같습니다. 대신 다음을 수행 할 수 있습니다.
<a href="http://example.com/no-js-login" onclick="yes_js_login(); return false;">Link</a>
답변
기본 브라우저 동작을 비활성화 preventDefault
하고 event
HTML 내에서 전달하기 만하면 됩니다.
<a href=/foo onclick= yes_js_login(event)>Lorem ipsum</a>
yes_js_login = function(e) {
e.preventDefault();
}
답변
<a href="http://www.google.com" class="ignore-click">Test</a>
jQuery 사용 :
<script>
$(".ignore-click").click(function(){
return false;
})
</script>
JavaScript로
<script>
for (var i = 0; i < document.getElementsByClassName("ignore-click").length; i++) {
document.getElementsByClassName("ignore-click")[i].addEventListener('click', function (event) {
event.preventDefault();
return false;
});
}
</script>
원하는 .ignore-click
만큼의 요소에 클래스 를 할당 하고 해당 요소를 클릭하면 무시됩니다.
답변
다음과 같은 간단한 코드를 사용할 수 있습니다.
<a href="" onclick="return false;">add new action</a><br>
답변
다음과 같은 이벤트 매개 변수를 전달하면 더 간단합니다.
<a href="#" onclick="yes_js_login(event);">link</a>
function yes_js_login(e) {
e.stopImmediatePropagation();
}
답변
도움이 될 수 있습니다.
JQuery가 필요하지 않습니다.
<a href="../some-relative-link/file"
onclick="this.href = 'https://docs.google.com/viewer?url='+this.href; this.onclick = '';"
target="_blank">
이 코드는 다음을 수행합니다. Google 문서 뷰어에 대한 상대 링크 전달
- 앵커의 전체 링크 버전을 얻으십시오.
this.href
- 새 창에서 링크를 엽니 다.
따라서 귀하의 경우 이것은 작동 할 수 있습니다.
<a href="../some-relative-link/file"
onclick="this.href = 'javascript:'+console.log('something has stopped the link'); "
target="_blank">