关于javascript:jQuery .preventDefault和.stopPropagation在函数内部返回false

jQuery .preventDefault and .stopPropagation used inside a function returning false

本问题已经有最佳答案,请猛点这里访问。

jquery文档状态:

"当同时使用.preventDefault()和.stoppropagation()时,您可以返回false,以更简洁的方式实现这两者…"

这与示例有关:

1
2
3
4
5
6
7
8
9
10
11
12
// 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

});

我的问题是这是如何工作的,在函数中使用"返回错误"来防止窗体或默认操作的发生。任何对官方javascript文档或jquery文档的引用都是非常宝贵的。


查看jquery源

1
2
3
4
5
6
if (ret !== undefined) {
    if ((event.result = ret) === false) {
        event.preventDefault();
        event.stopPropagation();
    }
}

如果事件处理程序返回false,jquery将对事件调用.preventDefault().stopPropagation()