【发布时间】:2013-04-10 23:58:00
【问题描述】:
简而言之,我的问题是,在咖啡脚本实现的 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 事件处理程序的咖啡脚本:
$ ->
$("#selectable").selectable(
selected: (event, ui) ->
$("#my-modal").modal({})
)
编辑:因为这有范围问题的味道,我尝试使用 -> 和 => 来查看是否改变了事情,但没有任何改变有任何区别。
编辑 2:我已验证 javascript 库的包含顺序正确:jquery、jquery-ui、jquery_ujs,然后是 bootstrap.js。有没有可能我需要引入另一个库?
我已经验证 $("#my-modal") 通过这样做可以正确找到模态 DOM 对象
console.log $("#my_modal").html()
我不明白这一点。代码对我来说看起来非常简单明了。
【问题讨论】:
-
肯定是因为缺少 jQuery UI ;)。
-
编辑了我的问题以显示包含的 js 库的顺序...
-
至于演示,这是在一个相当大的 Rails 应用程序中。当我将不在资产管道中的概念验证代码拼凑在一起时,它一切正常。我在 Rails 资产管道中的事实是我遗漏的大量信息,我会将其编辑到问题的顶部......对此感到抱歉。
标签: jquery-ui twitter-bootstrap coffeescript bootstrap-modal