firefox上的错误:$ .widget不是一个函数

时间:2011-04-25 06:20:49

标签: jquery-ui firefox widget

我在一个页面上有一些来自Jquery UI的多选框,这些框在Chrome& Safari但由于某种原因没有在Firefox中...当我在Firefox中加载错误控制台时,我看到:

Error: $.widget is not a function
Source File: http://localhost:3000/javascripts/jquery.multiselect.js?1302660373
 Line: 563

任何想法为什么?


编辑:该行本身在open函数中,它表示“//对初始化后的选项更改做出反应”

    // open the menu
open: function(e){
    var self = this,
        button = this.button,
        menu = this.menu,
        speed = this.speed,
        o = this.options;
    widget: function(){
    return this.menu;
},

// react to option changes after initialization
_setOption: function( key, value ){
    var menu = this.menu;

    switch(key){
        case 'header':
            menu.find('div.ui-multiselect-header')[ value ? 'show' : 'hide' ]();

4 个答案:

答案 0 :(得分:15)

我假设您正在使用jQuery Multiselect plugin ...这取决于jQuery UI。

听起来你没有包含足够的jQuery UI库或者没有包含它们。如果构建custom download,则需要包含jQuery UI的核心部分(包括 Widget )。或者只是下载整个jQuery UI并改为包含它。

答案 1 :(得分:2)

对于其他任何获得此项但有要求的人;确保以正确的顺序包含Javascript文件。这个错误是由我的jquery-ui.js包含在多选js文件之后引起的。

答案 2 :(得分:0)

实际上,如果您收到此错误,那么

a)按@andyb answer - 您还没有包含正确的jQuery UI组件

OR

b)您的DOM尚未使用正确的$.widget加载,因此您的函数在加载$.widget之前尝试调用。要解决问题,请确保在函数之前调用$ .widget

答案 3 :(得分:0)

这个答案可能与提问者的情况无关,但我把它放在这里是为了别人用Google搜索问题。

我使用Rails 3.2得到了这个错误,并通过删除(重命名)public / assets文件夹来修复它。似乎资产管道仍存在很多问题。我不知道细节,但有其他Javascript失败以这种方式修复。