如何使用Bootstrap模式检查前置条件?

时间:2015-06-07 23:38:49

标签: javascript jquery html5 twitter-bootstrap

我有一个正常工作的Bootstrap模式,由一个按钮触发:

<button type="button" class="btn btn-info mm" data-toggle="modal" data-target="#mm_modal" data-req="foo">

此模式适用于表单中的某些数据。如果表单数据验证失败,我想显示警报并且根本不显示模态。我该怎么做?

我尝试过添加功能:

$('button.mm').click( function(ev)
{
    var req = $(ev.currentTarget).data('req');
    if ( req === 'foo' )
    {
        alert('Foo not supported'); 
        throw new Error('Foo not supported');
    }
}

警报正确显示但throw似乎没有中止执行;无论如何,Bootstrap模态继续显示。

1 个答案:

答案 0 :(得分:1)

解决方案(经过测试和运作):

使用ev.stopPropagation();代替throw new Error('Foo not supported');,模式不会显示。

注意使用ev.preventDefault();不会停止显示模式。

stopPropagationpreventDefault之间的差异:here

希望有所帮助。