javascript - 如何检查是否在模态中?

标签 javascript angularjs twitter-bootstrap

我有一段带有表单字段的通用 html 代码,我在多个地方重用了它。当在 Bootstrap 模式中打开时,我希望内容填充整个模式,但是当在其他地方使用时,我不希望它那么宽。我想使用 ng-class 来做到这一点,使用如下代码:

<div ng-class="modal ? 'col-sm-9' : ['col-sm-9 col-lg-5']">
   content...
</div>

问题是:如何检查代码是否在模态中?是否有一些我可以调用的函数或一些可以读取的变量?我想避免使用某些 isModal() 函数填充所有模态 Controller 。

最佳答案

我建议为此使用 CSS。然后,浏览器将识别片段是否出现在定义为模式的元素内,并正确应用样式。

假设您在 Bootstrap 实现中使用 LESS,示例如下。但无论哪种方式,它都应该给您一个总体概念。

更少的 CSS 标记:

div.content {
     .col-lg-5
}

modal {
     div.content {
          .col-sm-9;
     }
}

HTML:

 <div class="modal">
         <h1>Heading</h1>
         <div class="content"> 
              content...
         </div> 
 </div>

关于javascript - 如何检查是否在模态中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25036059/

相关文章:

javascript - jQuery on() stopPropagation 不起作用?

Javascript - 解析自定义标签的最佳方式

javascript - Angular : Texbox value not showing

javascript - ExtJS 3.3 Format.Util.Ext.util.Format.dateRenderer 返回 NaN

javascript - 复选框显示隐藏字段 - 无法加载

javascript - AngularJS:MathJax 绑定(bind)

javascript - Rails 中的 Angular 路由(显示空白页)

angularjs - 如果仅在 angularjs-bootstrap-datepicker 中输入年份,则默认为一年的开始或结束

html - 你如何从 Angular4 中的 Bootstrap 选项卡中获取选定的选项卡?

javascript - 在轮播中多次向前按下按钮时对齐方式不同