La interfaz de usuario jQuery que pueden Arrastrarse interacción tiene una buena propiedad para ajuste de la contención como el padre.

$( ".selector" ).draggable({ containment: 'parent' });

Deseo para establecer la contención como el padre del padre. No hay ninguna cadena de valor para lograr esto, como la cadena de las opciones son

‘padre de familia’, ‘documento’, ‘ventana’, [x1, y1, x2, y2]

Podía calcular x1,y1,x2,y2 de los padres de los padres en la carga de la página y el uso de los valores para definir los límites de un contenedor relativa al documento. Pero el contenedor de la posición de cambio en relación a los padres de los padres de la posición si la ventana cambia de tamaño después de la carga de la página. El nativo de ‘padre de familia’ opción mantiene la posibilidad de arrastrar elemento dentro del elemento padre, independientemente de la ventana de cambio de tamaño.

Es allí una manera de lograr esto, la posibilidad de arrastrar contención utilizando el padre del padre?
.

OriginalEl autor steampowered | 2011-11-10

4 Comentarios

  1. 21

    Como por la documentación, el containment opción puede ser también un selector de jquery o un elemento real. Así que usted puede hacer esto:

    $('.selector').draggable({
        containment: $('.selector').parent().parent()
    });

    O mejor aún:

    $('.selector').each(function(){
        $(this).draggable({
            containment: $(this).parent().parent()
        });
    });
    He intentado hacerlo de una tabla ordenable, pero $(this).parent().padre() no funciona. Otras sugerencias? Mi TRs dentro de mi tbody se pueden ordenar, y me gustaría para confinarlos dentro de toda la tabla.
    stackoverflow.com/q/53475356/6712021 ¿tienes alguna ans ? @rossipedia

    OriginalEl autor rossipedia

  2. 4

    De acuerdo a la documentación, no tiene que pasar en una cadena para el containment de la propiedad. Puede pasar en cualquier de:

    Selector, Element, String, Array

    Así, sólo tienes que seleccionar la de los padres de los padres con jQuery (es decir,$( ".selector" ).parent().parent()), y de paso en lugar de 'parent'.

    OriginalEl autor wsanville

  3. 0

    Esto funciona bien así:

    $('.selector').draggable({
        containment: "#parent",
        scroll: false
    });

    OriginalEl autor LABASTIE François

  4. 0

    Si puedo usar $(this).parent() mi elemento que ir por encima del elemento padre.

    $('.selector').draggable({
      containment: $(this).parent()
    });

    Pero con parent funciona bien.

    $('.selector').draggable({
      containment: "parent"
    });

    OriginalEl autor Druta Ruslan

Dejar respuesta

Please enter your comment!
Please enter your name here