【问题标题】:jQuery .preventDefault and .stopPropagation used inside a function returning false [duplicate]jQuery .preventDefault 和 .stopPropagation 在返回 false 的函数中使用 [重复]
【发布时间】:2013-12-07 14:53:41
【问题描述】:

jQuery documentation 状态:

“当同时使用 .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

});

我的问题是这是如何工作的,在函数中使用“return false”来防止表单或默认操作发生。任何对官方 javascript 文档或 jQuery 文档的引用都是非常宝贵的。

【问题讨论】:

    标签: javascript jquery dom


    【解决方案1】:

    jQuery source

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

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

    【讨论】:

      猜你喜欢
      • 2013-03-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多