【问题标题】:Bootstrap - Modals autoload for some reasonBootstrap - 模态自动加载出于某种原因
【发布时间】:2012-02-08 21:39:22
【问题描述】:

我正在使用 Rails 3.2 和 twitter-bootsrap-rails gem (link)

我有一个模态,这是 html.erb:

<div id="myModal" class="modal hide fade in" style="display: block;">
  <div class="modal-header">
    <a class="close" data-dismiss="modal">×</a>
    <h3><%= t '.add_category_title' %></h3>
  </div>
  <div class="modal-body">
    <%= render :partial => 'wgform' %>
  </div>
</div>

这个模态应该在页面加载时隐藏,并通过按钮触发:

<a class="btn" href="#myModal" data-toggle="modal"><%= t '.add_category_btn' %></a>

但由于某种原因,页面加载时会出现模态,css属性为“display:block;” (它应该是“显示:无;”)。 右上角的“X”可以关闭它,并且按钮正确显示模式(如果在关闭后单击)。

奇怪的是,一小时前一切正常,而我没有修改那个文件。

我卡住了,不知道去哪里找。

【问题讨论】:

  • 页面加载时浏览器控制台中是否出现任何 Javascript 错误?页面加载可能出现问题,导致隐藏代码无法运行。
  • @Ryan 不,浏览器控制台上没有错误。
  • 嗯。好吧,您说您没有更改该文件,那么您在过去一小时内是否还修改了其他文件?
  • 好吧,gemfile 中的一些更改(我从我们的 repo 中提取,我支持一些提交)和其他关于使用 rspec 和 capybara 进行测试的东西......然后我做了一个捆绑更新。
  • 已解决。捆绑包更新后,我做了一个“rails g bootsrap:install”(正如官方自述文件所说)。该命令会以不好的方式覆盖我的 app/assets/javascripts/bootstrap.js.coffee。这就是问题所在。我恢复了该文件中的更改,现在一切正常。

标签: ruby-on-rails twitter-bootstrap


【解决方案1】:
<div id="myModal" class="modal hide fade in" style="display: block;">

为什么你有style="display: block;"?删除它

【讨论】:

  • 错误,复制自引导页面上的运行示例
【解决方案2】:

解决了编辑 bootstrap.js.coffee(见上面的 cmets)。

bootstrap.js.coffee:

$ ->
  $("body > .topbar").scrollSpy()
$ ->
  $(".tabs").tabs()
$ ->
  $("a[rel=twipsy]").twipsy live: true
$ ->
  $("a[rel=popover]").popover offset: 10
$ ->
  $(".topbar-wrapper").dropdown()
$ ->
  $(".alert-message").alert()
$ ->
  domModal = $(".modal").modal(
    backdrop: true
    closeOnEscape: true
  )
  $(".open-modal").click ->
    domModal.toggle() 

【讨论】:

    猜你喜欢
    • 2021-12-06
    • 1970-01-01
    • 2011-06-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-18
    相关资源
    最近更新 更多