jQuery를 사용하여 기본 링크 클릭 동작을 중지하는 방법
웹 페이지에 링크가 있습니다.사용자가 클릭하면 페이지의 위젯이 업데이트됩니다.그러나 기본 기능(다른 페이지로 이동)은 이벤트가 발생하기 전에 발생하기 때문에 작업을 수행하고 있습니다.
링크는 다음과 같습니다.
<a href="store/cart/" class="update-cart">Update Cart</a>
jQuery는 다음과 같습니다.
$('.update-cart').click(function(e) {
e.stopPropagation();
updateCartWidget();
});
뭐가 문제야?
e.preventDefault();
https://developer.mozilla.org/en-US/docs/Web/API/event.preventDefault 에서
이벤트의 추가 전파를 중지하지 않고 취소 가능한 경우 이벤트를 취소합니다.
$('.update-cart').click(function(e) {
updateCartWidget();
e.stopPropagation();
e.preventDefault();
});
$('.update-cart').click(function() {
updateCartWidget();
return false;
});
다음 방법은 정확히 동일한 작업을 수행합니다.
너는 원한다e.preventDefault()
기본 기능이 발생하지 않도록 합니다.
또는 가지고 있습니다.return false
당신의 방법으로.
preventDefault
기본 기능을 방지합니다.stopPropagation
이벤트가 용기 요소로 버블링되는 것을 방지합니다.
사용할 수 있습니다.e.preventDefault();
대신에e.stopPropagation();
이 코드는 모든 이벤트 수신기를 제거합니다.
var old_element=document.getElementsByClassName(".update-cart");
var new_element = old_element.cloneNode(true);
old_element.parentNode.replaceChild(new_element, old_element);
저는 이것에 한 시간을 낭비했습니다.저는 모든 것을 시도했습니다. 알고 보니 취소 버튼과 취소 요소 ID를 주는 것은 이벤트 전파를 막으려는 어떤 시도도 실패한다는 것을 의미했습니다.HTML 페이지는 ESC를 누르는 사람으로 처리해야 한다고 생각합니다.
언급URL : https://stackoverflow.com/questions/5632031/how-to-stop-default-link-click-behavior-with-jquery
'programing' 카테고리의 다른 글
MySQL에서 보기 이름을 변경하는 방법은 무엇입니까? (0) | 2023.09.02 |
---|---|
MySQL - DATE_ADD 월 간격 (0) | 2023.09.02 |
ES6 화살표 기능과 함께 jQuery $(이) 사용(이 바인딩은 어휘) (0) | 2023.09.02 |
엔디안 불가지론자 C/C++ 코드를 작성하는 방법은? (0) | 2023.09.02 |
원인: "알림:초기화되지 않은 문자열 오프셋"이 표시됩니까? (0) | 2023.09.02 |