阻止預設行為

2021-09-26 15:11:29 字數 614 閱讀 7503

有時,你會遇到一些情況,你希望事件不執行它的預設行為。 最常見的例子是web表單,例如自定義登錄檔單。 當你填寫詳細資訊並按提交按鈕時,自然行為是將資料提交到伺服器上的指定頁面進行處理,並將瀏覽器重定向到某種「成功訊息」頁面(或 相同的頁面,如果另乙個沒有指定。)

當使用者沒有正確提交資料時,麻煩就來了 - 作為開發人員,你希望停止提交資訊給伺服器,並給他們乙個錯誤提示,告訴他們什麼做錯了,以及需要做些什麼來修正錯誤。 一些瀏覽器支援自動的表單資料驗證功能,但由於許多瀏覽器不支援,因此建議你不要依賴這些功能,並實現自己的驗證檢查。 我們來看乙個簡單的例子。

首先,乙個簡單的html表單,需要你填入名(first name)和姓(last name)

這裡我們用乙個onsubmit事件處理程式(在提交的時候,在乙個表單上發起submit事件)來實現乙個非常簡單的檢查,用於測試文字字段是否為空。 如果是,我們在事件物件上呼叫preventdefault()函式,這樣就停止了表單提交,然後在我們表單下面的段落中顯示一條錯誤訊息,告訴使用者什麼是錯誤的:

顯然,這是一種非常弱的表單驗證——例如,使用者輸入空格或數字提交表單,表單驗證並不會阻止使用者提交

document

first name:

last name:

阻止預設行為

html中一些標籤有預設行為,例如a標籤被單擊後,缺省會進行頁面跳轉。阻止預設行為的方法e.preventdefault e.returnvalue false 阻止預設行為的相容性問題 例項應用 a 2.阻止預設行為 讓鏈結不跳轉 var a document.queryselector a a....

JS阻止預設行為

如果事件可取消,則取消該事件,而不停止事件的進一步傳播。語法 event.preventdefault 案例 1 doctype html 2 html lang en 3 head 4 meta charset utf 8 5 title event.preventdefault title 6h...

阻止事件冒泡和預設行為

在乙個物件上觸發某類事件 比如單擊onclick事件 如果此物件定義了此事件的處理程式,那麼此事件就會呼叫這個處理程式,如果沒有定義此事件處理程式或者事件返回true,那麼這個事件會向這個物件的父級物件傳播,從裡到外,直至它被處理 父級物件所有同類事件都將被啟用 或者它到達了物件層次的最頂層,即do...