8

Tengo una lista de divisiones que quiero poder ordenar. Cada div tiene texto y también un identificador dentro de él (debido a la IU, solo quiero ordenar si se arrastra la mitad izquierda del elemento de la lista). En Chrome/Firefox esto funciona muy bien, pero en IE, si haces clic en el texto, no te permitirá ordenarlo, aunque el texto esté dentro del controlador.JQuery ordenable: ¿se ha solucionado el error en IE?

que tienen una maqueta simplificada del problema en este caso, asegúrese de usar Internet Explorer para probar: http://jsfiddle.net/t8Ebd/

Estoy asumiendo que esto es una cosa de capas, pero he probado los siguientes enfoques: sin suerte

  • Cambio índices de z de texto y manejar
  • $ ("nombre de objeto.") disableSelection();
  • ms-user-select: ninguno.; user-select: none;
  • adquirir esta clase de texto a la lista de asas - esto soluciona el problema, pero no va a funcionar para mí ya que no quiero que el texto en la mitad derecha del elemento de la lista para activar la clasificación
  • Ajuste color de fondo en el controlador: sé que suena raro, pero si configuro un color, se convierte en el elemento superior y, por lo tanto, actúa correctamente, aunque oculta el texto que no funciona para mí.

¿Alguien tiene alguna otra idea?

+0

Qué versión en IE? –

+0

solución alternativa: poner un manojo de ' ' en la etiqueta de manejo div –

Respuesta

6

usted tiene una coma adicional después de ".sorthandle" que rompe en el IE:

$("ul").sortable({ 
    handle: ".sorthandle", // here 
}); 

Cambiar a:

$("ul").sortable({ 
    handle: ".sorthandle" 
}); 

he sugerido en el comentario de usar el método disableSelection() de jQuery UI. Aunque parece que no funciona del todo tampoco.

He conseguido lo que está buscando mediante el establecimiento de un fondo de color en el mango y la opacidad a cero por lo que es invisible:

.sorthandle { 
    ... 
    background-color: White; 
    opacity: 0; 
    filter: alpha(opacity = 0); 
}​ 

DEMO

Por supuesto, esto elimina su borde verde, no sé si esto es importante o no.

Quizás esto funcione mediante el uso de una imagen de fondo transparente png. Mi suposición es que el identificador que no tiene fondo, IE selecciona el texto debajo.

+1

+1 para obtener una respuesta concisa con una demostración funcional – Cam

+0

Esto no resuelve el problema en mi prueba con ie8 –

+0

Bueno, me funciona en IE 7> 9 ... ¿Tiene un error en la consola de JavaScript? –

1

Cambia el diseño de: (especie de truco)

<div class='sorthandle'><span>&nbsp;</span></div> 

y añade este CSS:

.sorthandle span{ 
    width:100%; 
    background-color:blue; 
    opacity:0.0; 
    filter:alpha(opacity=0); 
    display:block; 
} 

usar esta opción si desea mantener la frontera en el sorthandle

+0

Realmente aprecio que trabajes para mantener el límite, pero solo lo había agregado allí para resaltar mejor el problema. Gracias por la ayuda, Mark! –

Cuestiones relacionadas