Marionette.js Region的$ el没有模态?

时间:2013-02-04 17:58:28

标签: twitter-bootstrap marionette

我得到的错误来自onShow函数的最后一行:

    //modalregion: shows a modal detail view in bootstrap modal
var ModalRegion = Marionette.Region.extend({
    el: "#modal",

    onShow :  function(view) {
        view.on("close", this.hideModal,this);
        this.$el.modal('show'); //<- **throws TypeError: Object [object Object] has no method 'modal'** 
    },

    hideModal: function() {
        this.$el.modal('hide'); // bootstrap modal
    }
});

I have seen other posts that have error with the same form     Object [object Object]没有方法'XXXX'

他们的解决方案是“停止加载jquery两次”。我正在使用require.js,所以不应该发生,但我检查了Crome Dev工具上的Network选项卡,没有任何内容加载。

这个。$ el在调试器中定义,但不是modal作为函数:

this.$el: jQuery.fn.jQuery.init
0: div#modal
context: #document
length: 1
selector: "#modal"
...snip...
load: function ( url, params, callback ) {
map: function ( callback ) {
mousedown: function ( data, fn ) {
mouseenter: function ( data, fn ) {
mouseleave: function ( data, fn ) {
mousemove: function ( data, fn ) {
mouseout: function ( data, fn ) {
mouseover: function ( data, fn ) {
mouseup: function ( data, fn ) {
next: function ( until, selector ) {

我缺少一步吗?

谢谢,

安德鲁

1 个答案:

答案 0 :(得分:2)

该区域的$el是一个jQuery选择器对象,并且jQuery不在此对象上提供modal函数,而没有像jQueryUI或KendoUI这样的插件或其他可提供模态功能的插件。 / p>

提供modal功能的插件未加载到您的页面中。你需要这个插件。