Pregunta

¿Es posible para poder tener elementos que se pueden ordenar, pero todavía permiten a los usuarios copiar / pegar el texto dentro de los elementos?

<div class="sortable">
   <div class="pseudo-sortable">Foo</div>
   <div class="pseudo-sortable">Bar</div>
   <div>other stuff that i don't care if a user 
        can't copy (maybe images or buttoms)</div>
</div>

Puedo hacer fácilmente:

$('.sortable').sortable({cancel: '.pseudo-sortable'});

Esto permitirá que seleccione el texto en el navegador y copiar / pegar si quiero. Sin embargo, esto también hace que sea para que la persona no puede arrastrar / soltar. Así que creo que lo que me gustaría es comenzar con el cancelar pero si el ratón pasa una cierta distancia fuera del contenedor, a continuación, los pseudo-sortables ya no están cancelados. ¿Tiene sentido?

Si esto no es posible mi última opción sería aplicar un disparador que cambia contenedores entre ordenable y no se puede ordenar, de manera que puedan seleccionar el texto, pero preferiría para minimizar la interfaz de usuario hace clic.

¿Fue útil?

Solución

¿Qué hay de poner su texto en un <span>?

HTML

<ul id="sortable">
    <li><span>Item 1</span></li>
    <li><span>Item 2</span></li>
    <li><span>Item 3</span></li>
    <li><span>Item 4</span></li>
    <li><span>Item 5</span></li>
    <li><span>Item 6</span></li>
    <li><span>Item 7</span></li>
</ul>

jQuery

$("#sortable").sortable({
    revert: true,
    cancel: "#sortable li span"
});

Trate aquí: http://jsfiddle.net/6uXx8/

Otros consejos

Trate de añadir un mango . La idea es que sólo se puede empezar a arrastrar el elemento de la empuñadura, lo que podría ser, por ejemplo, un icono dentro del elemento.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top