2013-11-22 64 views
2

jQuery的documentation狀態:jQuery的.preventDefault和.stopPropagation返回一個函數內用假

「當同時利用.preventDefault()和.stopPropagation()同時,可以改爲返回false同時實現更簡潔方式......」

這是在考慮到例如:

// Preventing a default action from occurring and stopping the event bubbling 
$("form").on("submit", function(event) { 

    // Prevent the form's default submission. 
    event.preventDefault(); 

    // Prevent event from bubbling up DOM tree, prohibiting delegation 
    event.stopPropagation(); 

    // Make an AJAX request to submit the form data 

}); 

我的問題是如何工作的,對使用‘在一個函數返回false’,以防止窗體或默認發生的行動。任何對官方JavaScript文檔或jQuery文檔的引用都是非常寶貴的。

回答

3

看那jQuery source

if (ret !== undefined) { 
    if ((event.result = ret) === false) { 
     event.preventDefault(); 
     event.stopPropagation(); 
    } 
} 

如果事件處理程序返回false jQuery將調用.preventDefault().stopPropagation()對事件

相關問題