【问题标题】:I have function but in firebug console it says its not a function where I am calling it?我有功能,但在萤火控制台它说它不是我调用它的功能?
【发布时间】:2012-04-06 04:30:35
【问题描述】:

我在两个站点中使用一个函数,但是当我想将它实现到第三个站点时它不起作用。当我查看萤火虫控制台时,它说它不是一个功能。我的函数在一个名为 profilter.js 的单独文件中,如下所示:

jQuery.fn.sfProductFilter = function (options) {
    options = options || {};
    return this.each(function () {
        var pf = new SFProductFilter(this, options)
    })
}

我从一个页面调用它,代码是:

$(document).ready(function(){
            console.log($("ul.productSmall"));
            $('ul.productSmall').sfProductFilter(); //says not a function.
});

我已经检查了 console.log 以下内容 1- 已经包含 jQuery 2-如果我从 js 文件中 console.log 它可以工作,但在任何代码块内它都不能 3- ul.productSmall 在 console.log 中显示正确的结果

我可以提供网站链接,但只是不提供,所以版主不会认为它是垃圾邮件。

我一直在努力,请让我知道我在哪里犯了错误?

【问题讨论】:

  • 重置浏览器缓存再试一次,检查脚本是否真的在加载
  • 如何检查脚本是否正在加载?
  • sfProductFilter 或 SFProductFilter 不是函数?
  • Firebug > Net [Tab] > All[sub tab] ,重新加载页面或更多特别是 Firebug > Net [Tab] > Js[sub tab]
  • jQuery.fn.sfProductFilter = 行之前的行中添加一些console.log,看看该输出是在您已经拥有的console.log($("ul.productSmall")); 之前还是之后。

标签: javascript jquery firebug


【解决方案1】:

(复制自comment above。)

您包含 jQuery 两次,第二次加载远远低于 profilter.js 的包含并破坏了您的自定义函数。

【讨论】:

  • 这个!当您使用包含 jQuery 的框架(如 WP、Drupal 等)时,这是很常见的。因此,当您添加自己的 jQuery 包含时,一个会覆盖另一个。您应该始终使用 var $myJQ = jQuery.noConflict();然后将您的扩展添加到 $myJQ。这将确保您在使用更大的代码库时不会遇到此类问题。
【解决方案2】:

您是否包含 jquery ui 脚本?看起来 .button() 在

中被调用
function myChecks(){
    $("#checkboxcontainer input[type='checkbox']").button();
}

我有预感这会成功。

【讨论】:

  • 在控制台中它说: $("ul.productSmall").sfProductFilter 不是一个函数 [Break On This Error] $('ul.productSmall').sfProductFilter();
  • 您的脚本是在 jQuery 之前还是之后包含的? jQuery.fn.sfProductFilter = function (options) { options = options || 在哪里{}; return this.each(function () { var pf = new SFProductFilter(this, options) }) } 调用?
  • 希望一旦你包含了 jQuery UI,这可能会自行修复
  • 是的,你是对的,但真正的问题是我两次包含 jQuery --- 感谢您的努力并指出 jQueryUI 问题
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-26
  • 1970-01-01
  • 1970-01-01
  • 2021-02-01
  • 1970-01-01
  • 2021-09-27
相关资源
最近更新 更多