简而言之,我的问题是在咖啡脚本实现的 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()
我不明白这一点。代码对我来说看起来非常简单明了。