Saya memiliki link di halaman web. Saat pengguna mengkliknya, widget di halaman akan diperbarui. Namun, saya melakukan sesuatu, karena fungsionalitas default (menavigasi ke halaman berbeda) terjadi sebelum peristiwa diaktifkan.
Seperti inilah tampilan tautannya:
<a href="store/cart/" class="update-cart">Update Cart</a>
Seperti inilah tampilan jQuery:
$('.update-cart').click(function(e) {
e.stopPropagation();
updateCartWidget();
});
Apa masalahnya?
javascript
jquery
events
click
jquery-events
orang pintar
sumber
sumber
Jawaban:
dari https://developer.mozilla.org/en-US/docs/Web/API/event.preventDefault
sumber
stopPropagation
danpreventDefault
bingung$('.update-cart').click(function(e) { updateCartWidget(); e.stopPropagation(); e.preventDefault(); }); $('.update-cart').click(function() { updateCartWidget(); return false; });
Metode berikut mencapai hal yang persis sama.
sumber
stopPropagation()
danpreventDefault()
?Anda ingin
e.preventDefault()
mencegah fungsionalitas default terjadi.Atau dapatkan
return false
dari metode Anda.preventDefault
mencegah fungsionalitas default danstopPropagation
mencegah acara menggelembung ke elemen kontainer.sumber
Anda dapat menggunakan
e.preventDefault();
sebagai penggantie.stopPropagation();
sumber
Kode ini menghapus semua event listener
var old_element=document.getElementsByClassName(".update-cart"); var new_element = old_element.cloneNode(true); old_element.parentNode.replaceChild(new_element, old_element);
sumber