태그의 onclick 속성에서 발생하는 사용자 정의 함수에서 preventdefault를 호출하는 액세스 이벤트
다음과 같은 링크가 있습니다.
<a href="#" onclick="myfunc({a:1, b:'hi'})" />click</a>
<a href="#" onclick="myfunc({a:3, b:'jo'})" />click</a>
링크를 클릭 할 때 ( 또는 하지 않고 ) 주소 표시 줄에 preventDefault()
a #
가 추가 라고 내 기능 내부 를 수행하고 싶습니다.return false;
href='javascript:void(0);'
이게 가능해? myfunc 안에서 이벤트를받을 수 있나요
W3C 브라우저에서 발생 호환하는 이벤트 event
의 event
object- 가 될 함수 인라인으로 전달할 수 있다고 생각 합니다 (즉, 이전 버전의 IE는 여전히 이벤트 처리기 함수 내부에서 감지 해야합니다 window.event
).
빠른 예 입니다.
function sayHi(e) {
e.preventDefault();
alert("hi");
}
<a href="http://google.co.uk" onclick="sayHi(event);">Click to say Hi</a>
- 그대로 실행하고 알림 후 링크가 Google로 리디렉션되지 않습니다.
- 그런 다음 처리기로
event
전달 된 것을onclick
다른 것과 같이 변경하고 실행e
을 클릭 한 다음 경고 후에 리디렉션이 발생 함을 확인합니다 (결과 창이 흰색으로 바뀌고 리디렉션이 표시됨).
가장 간단한 해결은 다음과 가변합니다.
<a href="#" onclick="event.preventDefault(); myfunc({a:1, b:'hi'});" />click</a>
JS 사용 브라우저가없는 폴 백이있는 문서에 대해 캐시 무효화를 수행하는 좋은 방법입니다 (JS가없는 경우 캐시 무효화 없음)
<a onclick="
if(event.preventDefault) event.preventDefault(); else event.returnValue = false;
window.location = 'http://www.domain.com/docs/thingy.pdf?cachebuster=' +
Math.round(new Date().getTime() / 1000);"
href="http://www.domain.com/docs/thingy.pdf">
JavaScript가 활성화 된 경우 캐시 버스 팅 쿼리를 사용하여 PDF를 열지 만없는 경우 PDF 만있는 경우.
이 시도 :
<script>
$("a").click(function(event) {
event.preventDefault();
});
</script>
<script type="text/javascript">
$('a').click(function(){
return false;
});
<script>
링크에 고유 클래스를 추가 하고이 클래스와의 링크에서 링크를 방지하는 자바를 추가하십시오.
<a href="#" class="prevent-default"
onclick="$('.comment .hidden').toggle();">Show comments</a>
<script>
$(document).ready(function(){
$("a.prevent-default").click(function(event) {
event.preventDefault();
});
});
</script>
태그에서 href 속성을 제거 할 수 없습니까?
onClick을 사용할 때 사용하는 것을 사용하고 싶다고 생각합니다. 따라서 onClick과의 모든 링크에 대해
$("a[onClick]").on("click", function(e) {
return e.preventDefault();
});
다음과 같이 onclick에서 이벤트에 액세스 할 수 있습니다.
<button onclick="yourFunc(event);">go</button>
그리고 귀하의 자바 스크립트 함수에서 내 조언은 첫 번째 줄 문을 다음과 같이 추가하는 것입니다.
function yourFunc(e) {
e = e ? e : event;
}
그런 다음 모든 곳에서 e를 이벤트 변수로 사용하십시오.
단순한!
onclick="blabla(); return false"
e.preventDefault (); 에서 https://developer.mozilla.org/en-US/docs/Web/API/event.preventDefault
또는 귀하의 방법에서 false를 반환하십시오.
'IT' 카테고리의 다른 글
Android에서 Toast와 동일한 기능을 가진 iOS에서 메시지 표시 (0) | 2020.08.05 |
---|---|
Java Swing에서 마우스 오른쪽 버튼 클릭 팝업 메뉴를 작성하는 방법 (0) | 2020.08.05 |
프로세스 ID Xcode에 첨부하지 (0) | 2020.08.05 |
Spring Boot + JPA : 열 이름 주석이 무시되었습니다. (0) | 2020.08.05 |
NGINX 설정에서 두 위치에 대해 어떤 규칙을 적용합니까? (0) | 2020.08.05 |