【问题标题】:bootstrap modal: undefined is not a function引导模式:未定义不是函数
【发布时间】:2015-01-19 09:33:14
【问题描述】:

我收到上述带有引导模式的错误消息。

发生了什么:

这是我的代码:

jQuery('.btn-red').on('click', function () {

        var var1 = jQuery(this).data('target');

        jQuery('#cancel_form_display').load(url + var1, function (response, status, xhr) {
            if (status == "success") {

                jQuery(var1).modal('show');
            }
        });
    });

我正在使用几个 js/jQuery 插件。所以我在无冲突模式下使用 jQuery。使用 'jQuery' 而不是 '$'。当这个函数被调用时,我得到'undefined is not a function'一行:

jQuery(var1).modal('show');

我尝试了什么?

  1. 遵循其他具有相同问题的帖子的建议,并确保 bootstrap.min.js 已加载。

  2. 将函数行改为:

    jQuery(var1).modal({show:true});

  3. 更改了插件文件的加载顺序。

更多信息 我也收到此错误:与prototype.js 关联的“无法设置未定义的属性“显示” 这是使用方法:'show'

我正在按这个顺序加载js文件:

  1. jQuery-lib/2.0.3/jquery.min.js

  2. prototype.js

  3. bootstrap.min.js

谁能帮我解决这个问题?

【问题讨论】:

  • 我假设您已经检查了var1 是什么,并且还尝试在此单击方法之外单独运行jQuery(var1).modal('show');? (显然使用选择器值而不是 var1)
  • 我已经测试了上面的函数,因为它在一个单独的 html 文件中。我工作正常。当我尝试将其复制到我的 webapp 中时,它给了我上述错误
  • 你可以做这样的事情......或者使用这个jsfiddle.net/qrq7cez0进行修改
  • 我正在从另一个页面加载内容。
  • 在您点击任何.btn-red 链接之前是否还有其他控制台错误?

标签: javascript jquery twitter-bootstrap bootstrap-modal


【解决方案1】:

您需要更改的代码是:

 jQuery('#'+var1).modal('show');

您正在调用模态,您需要在变量之前传递 # 符号,或者如果您在目标属性中设置了 # 符号,则无需编写它。

【讨论】:

  • 谢谢。这解决了上述问题。但我收到了新错误 - '无法识别的表达式:##cancel_form'。我这样命名我的数据('目标'):#cancel_form。所以我猜你的行增加了一个“#”。
猜你喜欢
  • 1970-01-01
  • 2015-03-28
  • 1970-01-01
  • 1970-01-01
  • 2014-11-29
  • 2017-05-22
  • 1970-01-01
  • 2014-09-11
  • 2015-06-01
相关资源
最近更新 更多