2011-09-16 50 views
4

http://api.jquery.com/event.preventDefault/有關的preventDefault

jQuery的澄清:「如果這種方法被調用時,事件的默認動作不會被觸發。」

「默認操作」意味着當他們點擊超鏈接時,從不同頁面重定向人員,就像我在示例代碼中觀察到的那樣。

這個功能有沒有其他用途?

它如何與表單交互?

+0

好問題。我通常使用「返回false」;它做同樣的事情。 –

回答

4

如您所說,preventDefault可防止觸發事件的默認操作。事件的默認操作取決於事件的類型和事件目標。

例如,如果在複選框的單擊事件處理程序中使用了preventDefault,則在單擊時不會檢查該複選框。如果它在文本輸入的​​事件處理程序中使用,則按下的鍵不會寫入輸入值。如果在表單的submit事件處理程序中使用它,則會阻止表單提交。

基本上,它會阻止任何事件執行默認執行的操作。

1

它可以防止元素的默認操作,無論該默認操作是什麼。

在表單和輸入的情況下,爲了響應點擊或這樣的操作,它將防止檢查單選按鈕或複選框,它會阻止在單擊submit時提交表單(或指定的任何操作)按鈕。

2

preventDefault將防止違約事件發生的歷史,因此,舉例來說,如果我們聯繫下面的代碼形式 -

$('#form').submit(function(e) { 
    alert('Handler for .submit() called.'); 
    e.preventDefault(); 
}); 

e.preventDefault()通話將防止被提交的表單是默認的事件通常會在表單提交時發生。

1

preventDefault()防止瀏覽器對指定事件進行任何默認操作。

preventDefault()有很多實際用途,我爲你總結了一些。你也可以在這裏找到你關於表格的問題的答案。

它可以防止:

  • 提交形式,而點擊提交按鈕
  • 提交表單同時按下回車
  • 有時還可以防止滾動
  • 按鍵時行動也。
  • 右鍵單擊瀏覽器菜單
  • 開闢新的標籤,而點擊鏈接中間按鈕
  • 打開鏈接,同時點擊左鍵,正如你所說,

而且有很多