button.addEventListener("click", function() {
const ce = new CustomEvent(
"board:select",
{ bubbles: false, cancelable: true, detail: {} }
);
const isCancelled = !document.querySelector(`#${Board.prefix}`)?.dispatchEvent(ce);
console.log(isCancelled ? "is cancelled" : "is not cancelled");
}
//I вариант
document.querySelector(`#${Board.prefix}`)?.addEventListener("board:select", function() {
event.preventDefault();
})
//II вариант
document.querySelector(`#${Board.prefix}`)?.addEventListener("board:select", async function() {
const data = await fetch("http://localhost:4000/boards");
event.preventDefault();
})
有一个简单的代码,当按下按钮时会发送一个事件。
问题:为什么第一个选项中 isCancelled 为真,而第二个选项中 isCancelled 为假。
我想等到 fetch 执行完毕然后设置 event.preventDefault();或不放。现在在第二个选项中 event.preventDefault();不起作用。
告诉我发生了什么事?