Tengo problemas para obtener el código de UI para que funcione bien en IE.Problemas de rendimiento de jQuery UI con una tabla en IE
Tengo una tabla: una matriz de valores. Cada celda puede estar vacía o contener una lista de elementos.
Quiero que los usuarios puedan arrastrar elementos entre las celdas.
Así que mi HTML se ve algo como esto:
<table>
<tr><td></td><th scope="col">col 1</th><th scope="col">col 2</th></tr>
<tr><th scope="row">row 1</th>
<td class="droppable-cell">
<div class="draggable-item">item A</div>
<div class="draggable-item">item B</div>
</td>
<td class="droppable-cell"></td>
</tr>
<tr><th scope="row">row 2</th>
<td class="droppable-cell"></td>
<td class="droppable-cell">
<div class="draggable-item">item C</div>
<div class="draggable-item">item D</div>
</td>
</tr>
</table>
Entonces estoy usando jQuery 1.3.1 y jQuery UI 1.6rc6:
$j('.draggable-item').each(function()
{
$j(this).draggable({
addClasses: false,
revert: true,
zIndex: 2000,
cursor: 'move'
});
});
$j('.droppable-cell').each(function()
{
$j(this).droppable({
addClasses: false,
activeClass: 'droppable-cell-candrop',
hoverClass: 'droppable-cell-hover',
tolerance: 'pointer',
drop: function(event, ui)
{
//function to save change
});
});
});
Tenga en cuenta que esto se simplifica, truncada y sin terminar código.
Mi problema es que en FX, Safari, Chrome, etc. (es decir, todos los navegadores decentes) esto funciona bien.
Aunque el IE realmente tiene problemas. Con una tabla de 5x5, el retraso de IE al inicio de un arrastre es notable. En una tabla de 10x10 con quizás 100 elementos, el inicio de la acción de arrastre bloquea el navegador.
Quiero ser capaz de admitir células redondas de hasta 20x15 y tal vez hasta 500 elementos. ¿Es esto simplemente imposible? No parece que debería ser.
¿Estoy haciendo algo mal? ¿Hay alguna manera de hacer esto que no ralentice la página en IE de esta manera?
también estoy teniendo este problema exacto. mesa grande, divs anidados dentro de la mesa. firefox muestra la página en 10 segundos, es decir, procesa la tabla luego de una espera de 2 minutos. firefox sigue comprimiendo y arrastrando y girando, es decir, se arrastra ... de hecho se congela, y el comando arrastrar y soltar no funciona. voy a probar algunas de las soluciones a continuación. el ancho fijo, y las referencias #id tagname.class.Pero me temo que todavía será lento. si alguien más tiene buenas i deas, yo sería todo oídos. – Bingy
Sí, mi solución fue limitar los usuarios de IE; solo pueden seleccionar un pequeño subconjunto de filas y columnas que los usuarios de FX y Chrome pueden. Incluso entonces, IE8 solo hace frente a quizás 25 celdas (cuadrícula de 5x5), 7 y 6 permanecen sin esperanza. Te trae recuerdos del desarrollo web de finales de los 90 y es algo horrible de hacer, pero ¿qué otra cosa puedes hacer si su navegador es tan pobre? – Keith
Con el mismo problema, IE es súper lento con una grilla grande, pero Chrome y Firefox están bien. –