3
當事件發生時,一些其他事件由其名稱觸發。在某些情況下,第二個處理程序可以撥打preventDefault
。如何將此電話轉接至原始活動?如何將preventDefault調用傳遞給其他事件?
https://jsfiddle.net/edgv8qur/1/
$("button").click(function (event) {
$("body").trigger("some-custom-event");
// If the custom event was prevented, prevent original one too
if (true) { // How to check?
event.preventDefault();
}
})
$("body").on("some-custom-event", function (event) {
if (Math.random() > .5) {
console.log("prevent");
event.preventDefault();
} else {
console.log("allow");
}
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<button>Test</button>
我不想修改第二個事件的處理程序。 – Qwertiy
如果我修改處理程序,我只是將原始事件傳遞給它。爲什麼我需要回撥? – Qwertiy
@Qwertiy查看我的更新回答 –