[英]Why is preventDefault() not working?
到目前為止,我一直試圖讓它在沒有運氣的情況下工作。 如果我使用 return false; 它可以工作,但不能與 prevenDefault 一起使用,是不是我遺漏了什么? 謝謝你。
<html>
<meta http-equiv = "Content-Type" content = "text/html; charset = utf-8">
<script>
function hit(e) {
e.preventDefault();
}
</script>
<body>
<form onsubmit="hit()">
<input type="submit" value="submit" />
</form>
<div id="d"> </div>
</body>
</html>
事件對象是事件處理函數的第一個參數,即onsubmit
。 hit
是您從onsubmit
調用的函數,並且您沒有向它傳遞任何參數。
使用 JavaScript 而不是 HTML 綁定您的事件處理程序。
addEventListener("load", bind_event_handlers);
function bind_event_handlers(e) {
document.querySelector("form").addEventListener("submit", hit);
function hit(e) {
e.preventDefault();
}
}
您必須在內聯事件處理程序中顯式傳遞event
對象,
<form onsubmit="hit(event)">
但建議對此類任務使用專用的事件處理程序,例如,
document.querySelector("form").addEventListener("submit",function(e){
e.preventDefault();
},false)
您還可以在onsubmit
使用 return 來防止提交表單:
<script>
function hit() {
return false; // Use 'true' to submit the form
}
</script>
<body>
<form onsubmit="return hit();">
<input type="submit" value="submit" />
</form>
<div id="d"> </div>
將onsubmit
更改為onsubmit="hit"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.