在coffeescript内部创建的bootstrap模式不起作用

时间:2013-04-07 16:20:48

标签: jquery-ui twitter-bootstrap coffeescript bootstrap-modal

我的问题简而言之,就是在coffeescript实现的jQuery-UI处理程序中,我无法创建并显示引导模式。如果我尝试使用引导文档中的标准按钮方法来显示模态,它可以正常工作。编辑3:这是使用资产管道的Ruby on Rails 3.2应用程序。

<a href="#my-modal" role="button" class="btn" data-toggle="modal">Launch demo modal</a>

但是,当我在jQuery-UI事件处理程序中执行此操作时:

$("#my-modal").modal('show')

$("#my-modal").modal({})

我收到此错误:

Uncaught TypeError: Object [object Object] has no method 'modal'

我的html非常标准 - 我只使用了bootstrap文档中的示例html。我有这个jQuery-UI事件处理程序的coffeescript:

$ ->
  $("#selectable").selectable(
    selected: (event, ui) ->
      $("#my-modal").modal({})
  )

编辑:因为这个范围问题的味道我尝试用 - &gt;和=&gt;看看是否改变了事情,但没有改变,这有什么不同。

编辑2:我已经验证了javascript库包含在正确的顺序中:jquery,jquery-ui,jquery_ujs,然后是bootstrap.js。是否有可能需要引入另一个库?

我已经验证$(“#my-modal”)通过执行

正确找到模态DOM对象
console.log $("#my_modal").html()

我无法理解这一点。对我来说,代码看起来非常简单明了。

1 个答案:

答案 0 :(得分:2)

我终于明白这一点,并认为我会发布答案以防其他人遇到这个问题。

我们团队中的其他人使用jQuery引入了Google Analytics,并重新引入了jQuery AFTER引导程序将自身注入jQuery,从而从世界中移除了引导程序。

由于我们处于项目的第一阶段,我们的座右铭是今天不试图解决未来几年的问题,我解雇了他,当他离开时我们等他回来。当然,他是我的老板,所以没有发生过这种情况。