w sortable / texto seleccionable
-
28-09-2019 - |
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.
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.