Wenn das Ereignis eintritt, wird ein anderes Ereignis durch seinen Namen ausgelöst. In einigen Fällen kann der zweite Handler preventDefault
anrufen. Wie übergebe ich diesen Anruf an das ursprüngliche Ereignis?Wie preventDefault Anruf an ein anderes Ereignis übergeben?
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>
Ich möchte keine Handler des zweiten Ereignisses ändern. – Qwertiy
Wenn ich den Handler ändere, werde ich nur das ursprüngliche Ereignis an ihn übergeben. Warum brauche ich einen Rückruf? – Qwertiy
@Qwertiy Siehe meine aktualisierte Antwort –