【问题标题】:Have Bootstrap Modal Load Faster让 Bootstrap 模态加载更快
【发布时间】:2015-11-11 02:10:08
【问题描述】:

我有一个引导模式:

<div class="modal" id="myModal"> ... </div>

我有显示模态的 javascript 代码,然后调用一些表单验证代码:

$("#myModal").modal("show");
doValidation();

模式的目的是防止用户在验证表单时做任何事情。不幸的是,在验证完成之前模态不会显示。我已经尝试将验证代码移动到在模式打开时触发的事件,但即便如此,模式仍然加载速度不够快。此外,如果没有表单验证代码,模态仍然会在明显延迟后显示,而不是像我想要的那样立即显示。如何让模态立即显示?

【问题讨论】:

    标签: javascript jquery angularjs twitter-bootstrap modal-dialog


    【解决方案1】:

    您可以通过将其display 属性设置为block(默认为none)来立即加载模态。

    将以下内容放入您的 css 中:

    .manually-show-modal {
        display:block !important;
    }
    

    然后,将此类动态附加到模态。这可以使用 angular 来完成,如下所示:

    <div class="modal" ng-class="{'manually-show-modal': show_modal}" id="myModal">
    

    作用域初始化:

    $scope.show_modal = false;
    

    模态显示:

    $scope.show_modal = true;
    doValidation();
    

    对这种方法的一个警告是,您将无法通过正常方式关闭模式。如果您希望用户能够关闭模态,您需要制作一个模态关闭按钮,如下所示:

    <button ng-click="modalClose()">Close</button>
    

    在您的角度控制器中使用以下内容:

    $scope.modalClose = function() {
        $scope.show_modal = false;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-06
      • 2021-06-08
      • 2012-01-08
      • 2018-09-07
      • 1970-01-01
      • 2020-03-21
      相关资源
      最近更新 更多