Mi pregunta parece que se asemejan a esta pregunta:

arrastrando a partir de una lista que se puede ordenar a una operación de arrastrar y soltar plugin

Pero ya que no hay respuesta dada a la que uno me preguntaba si alguien podía /podría ser capaz de averiguar conmigo. El problema que tengo es que puedo crear un draggable div y anexar esta dentro de un div que se hace ordenable. Cuando me especifica ningún argumento así:

$(el).sortable({ ... arguments ... }); 

Se produce un error cuando el elemento se ha caído ver a continuación, cuando se deja vacío se extrañamente funciona bien y no tiene problemas. El error también impide que cualquiera de las funciones a ser disparado por el elemento draggable.

Uncaught TypeError: Cannot read property 'options' of undefined 
jquery-ui-1.10.3.custom.js:2204

$.ui.plugin.add.stop                         jquery-ui-1.10.3.custom.js:2204
$.extend.plugin.call                         jquery-ui-1.10.3.custom.js:284
$.widget._trigger                            jquery-ui-1.10.3.custom.js:2017
(anonymous function)                         jquery-ui-1.10.3.custom.js:401
$.widget._mouseStop                          jquery-ui-1.10.3.custom.js:1702
(anonymous function)                         jquery-ui-1.10.3.custom.js:401
$.widget._mouseUp                            jquery-ui-1.10.3.custom.js:957
(anonymous function)                         jquery-ui-1.10.3.custom.js:401
$.widget._mouseUp                            jquery-ui-1.10.3.custom.js:1721
(anonymous function)                         jquery-ui-1.10.3.custom.js:401
$.widget._mouseDown._mouseUpDelegate         jquery-ui-1.10.3.custom.js:913
jQuery.event.dispatch                        jquery-1.10.2.js:5095
jQuery.event.add.elemData.handle             jquery-1.10.2.js:4766

Y este es el código donde va mal:

$.ui.plugin.add("draggable", "cursor", {
    start: function() {
        var t = $("body"), o = $(this).data("ui-draggable").options;
        if (t.css("cursor")) {
            o._cursor = t.css("cursor");
        }
        t.css("cursor", o.cursor);
    },
    stop: function() {
        var o = $(this).data("ui-draggable").options;
        if (o._cursor) {
            $("body").css("cursor", o._cursor);
        }
    }
});

var o = $(this).data("ui-draggable").options;
El $(this).data() sólo contiene: Object {id: «c17»}

Ejemplo de código:

$('.draggable').draggable({
  connectToSortable: '.sortable',
  drop: function(){
    console.log('Element dropped');
  }
});

$('.sortable').sortable({
  update: function(){
     console.log('sortable updated'); 
  }
});

JSBin ejemplo: http://jsbin.com/eHUKuCoL/9/edit?html,js,salida
Esperemos que alguien es capaz de decirme cuál es el problema y cuál es la solución para el problema.

OriginalEl autor N.Schipper | 2013-12-05

2 Comentarios

  1. 7

    De acuerdo a la documentación, Jquery interfaz de usuario de la posibilidad de arrastrar la Documentación, es necesario establecer el ayudante del parámetro a «clonar», para el connectWithSortable funcionalidad para que funcione a la perfección.

    Una vez que lo hice, dejó de tirar el error.

    Actualizado JSBin

    También una nota, la posibilidad de arrastrar no tiene un ‘drop’ método en su documentación, por lo que probablemente tendrá que incluir el drop plugin, si eso es lo que usted va para.

    Por último, si usted tiene que utilizar la clonación como método auxiliar, usted probablemente tendrá que añadir un poco de css para que funcione más suave.

    Saludos.

    Ah, ahora sólo tiene que quitar el elemento original del clon para que no se copia, y sí, yo uso actualmente de 3 elementos arrastrables es renderd en todas 3 2 se pueden ordenar de la lista es un drop de campo. Se representan en las 3 áreas en el inicio basada en la información contenida en el plazo no modelos.

    OriginalEl autor Rooster

  2. 1

    También me encontré con este problema cuando la construcción de un gran dinamismo de la aplicación utilizando Meteorito. Resulta que si se elimina el original arrastrando el elemento (o no clon), se obtiene este error. Esto se repitió varias veces en diferentes versiones de jQuery, pero es ahora, finalmente, fija en v1.11.0:

    http://bugs.jqueryui.com/ticket/6889

    Su consejo guardado mi tiempo. Gracias!

    OriginalEl autor Andrew Mao

Dejar respuesta

Please enter your comment!
Please enter your name here