error de función de diálogo función no válida

TypeError: $("").html("¡Este diálogo se mostrará cada vez!"). El diálogo no es una función

Este es el error que estoy recibiendo. La página se carga usando load() en un div en la página de índice. Incluí las cosas necesarias de jquery en la página de índice (que preferiría mantener así), la página cargada y ambas, y todavía hace esto. No estoy seguro de qué pasa exactamente. Sé que es más difícil trabajar con una página de carga () en lugar de solo con la página en sí, pero incluso al ir a la página home.php, todavía lo dice. A continuación hay un enlace a la página de carga, si desea ver el índice, simplemente elimine home.php en la dirección.

La página que se está cargando.

Esta es la función que estoy usando:

<script type="text/javascript" src="js/jquery.js"></script>
    <script type="text/javascript" src="js/jquery.ui.core.js"></script>
    <script type="text/javascript" src="js/jquery.ui.draggable.js"></script>
    <script type="text/javascript" src="js/jquery.ui.mouse.js"></script>
    <script type="text/javascript" src="js/jquery.ui.position.js"></script>
    <script type="text/javascript" src="js/jquery.ui.resizable.js"></script>
    <script type="text/javascript" src="js/jquery.ui.widget.js"></script>

    <script type="text/javascript">
    function readMore(id,title,cat,desc,post,auth) {
        //alert(id +","+ title +","+ cat +","+ desc +","+ post +","+ auth);
        var $dialog = $('<div></div>').html('This dialog will show every time!').dialog({autoOpen: false,title: 'Basic Dialog'});
        $dialog.dialog('open');
        $dialog.title = title;
        $dialog.html(desc);
    }
    </script>

Tal como está ahora, todas las inclusiones para el diálogo están en la página de carga, y no en la página de índice, pero como dije, probé uno u otro o ambos, sin éxito. Además, la alerta funciona bien y está pasando todo correctamente y me llaman cuando quiero. Todas las rutas a jquery include son correctas.

Y si ayuda a reducirlo por alguna razón, también recibo errores en la carga de la página: TypeError: $.widget is not a function [Break On This Error]

_uiHash: function(event) {

jquery...able.js (línea 504)

TypeError: $.widget no es una función [Break On This Error]

_mouseCapture: function(event) { return true; }

jquery...ouse.js (línea 162)

TypeError: $.widget no es una función [Break On This Error]

ui: function() {

preguntado el 30 de julio de 12 a las 00:07

2 Respuestas

También necesitas:

  • jquery.ui.button.js
  • jquery.ui.dialog.js

También coloque el mouse antes de que se pueda arrastrar, como comentó Musa anteriormente, es importante.

resumen:

  1. jquery.ui.core.js
  2. jquery.ui.widget.js
  3. jquery.ui.ratón.js
  4. jquery.ui.posición.js
  5. jquery.ui.arrastrable.js
  6. jquery.ui.redimensionable.js
  7. jquery.ui.button.js
  8. jquery.ui.dialog.js

Pero en lugar de cargar todos los archivos individuales, sugeriría cargar la interfaz de usuario completa desde un CDN.

 <link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" rel="stylesheet" type="text/css"/>
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
  <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script>

Respondido 30 Jul 12, 02:07

lol. Me imagino que también necesito solo el css de diálogo. ¿O hay más? Y solo para agregar; Me siento bastante estúpido porque es obvio que necesitaba esos archivos js, pero en realidad no lo dice, al menos como vi, por un requisito en su página de demostración para el modual. - Grant

El CSS también estaría bien cuando desee un diálogo con estilo ^^ - Dr. Molle

¿Cómo/qué haces la interfaz de usuario completa de CDN? Todavía soy bastante nuevo en javascript en general, especialmente en jquery. - Grant

Agregué el código anterior, es todo lo que necesita cuando desea usar jQuery (incluida la interfaz de usuario). - Dr. Molle

¿Y eso es todo lo que necesito para todo jquery para algo? - Grant

jquery.ui.mouse, jquery.ui.draggable y jquery.ui.resizable necesita venir después jquery.ui.widget porque ellos llaman .widget(), también el widget usa la posición, así que póngalo antes.

<script type="text/javascript" src="js/jquery.ui.position.js"></script>
<script type="text/javascript" src="js/jquery.ui.widget.js"></script>
<script type="text/javascript" src="js/jquery.ui.mouse.js"></script>
<script type="text/javascript" src="js/jquery.ui.draggable.js"></script>
<script type="text/javascript" src="js/jquery.ui.resizable.js"></script>

Respondido 30 Jul 12, 01:07

Sigo recibiendo estos errores: TypeError: la base no es un constructor [Break On This Error] var basePrototype = new base(); jquery...dget.js (línea 67) TypeError: $(" ").html("¡Este cuadro de diálogo se mostrará cada vez!").El cuadro de diálogo no es una función [Interrupción en este error] ...v> ').html('¡Este diálogo se mostrará siempre!').dialog({autoOpen: false,tit... - Grant

@GrantKesslerJr, eliminó los scripts del sitio, por lo que no puedo ver qué está mal, pero creo que este es el orden de los archivos position->widget->mouse->draggable->resizeable. - Musa

Intenté ponerlos en la página de índice, los agregaré de nuevo a home.php en su lugar, pero esperaba mantenerlos en la página principal, ya que jquery ya se carga allí. Están en home.php de nuevo. - Grant

@GrantKesslerJr puso mouse antes draggable - Musa

Agradezco la ayuda, ya que esto eliminó todos los errores adicionales que estaba obteniendo fuera del cuadro de diálogo. - Grant

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.