2011-04-25 8 views
8

Tengo unas cuantas cajas de selección múltiple de la IU de Jquery en una página que funciona perfectamente bien en Chrome & Safari pero no en Firefox por alguna razón ... cuando cargo el Error consola en Firefox veo:

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

Cualquier idea por qué?


edición: la línea en sí está dentro de la derecha función abierta donde dice "// reaccionan a los cambios de opción después de la inicialización"

// 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' ](); 
+0

Entonces, ¿qué hay en esa línea? – alex

+0

¡gracias! Agregué ediciones arriba – mtay

Respuesta

15

estoy asumiendo que usted está utilizando el hellip jQuery Multiselect plugin y; que depende de jQuery UI.

Parece que no ha incluido suficiente de la biblioteca jQuery UI o nada de eso. Debe incluir las partes principales de jQuery UI (incluido Widget) si compila un custom download. O simplemente descargue la interfaz de usuario jQuery completa e inclúyala.

0

En realidad, si usted está recibiendo este error, entonces es bien

a) por cada @andyb answer - no se han incluido los componentes correctos jQuery UI

O

b) el DOM no se ha cargado todavía con el $.widget correcto y, por lo tanto, su función está intentando llamar antes de que $.widget se haya cargado. para solucionar el problema, asegúrese de que se llama $ .widget ANTES de su función

0

Esta respuesta probablemente no está relacionada con la situación del que pregunta, pero la puse aquí por el bien de otros buscando en Google la pregunta.

Recibí este error utilizando Rails 3.2 y lo solucioné eliminando (renombrando) la carpeta public/assets. Parece que todavía hay muchos problemas con la cartera de activos. No conozco los detalles, pero he tenido otros errores de Javascript que se solucionan de esta manera.

2

Para cualquier otra persona que está obteniendo esto pero tiene los requisitos; asegúrese de incluir los archivos Javascript en el orden correcto. Este error fue causado por mi jquery-ui.js incluido después del archivo js multiselect.

Cuestiones relacionadas