Ich habe Probleme, UI-Code überhaupt gut in IE ausführen.jQuery UI Leistungsprobleme mit einer Tabelle in IE
Ich habe eine Tabelle - eine Matrix von Werten. Jede Zelle kann leer sein oder eine Liste von Elementen enthalten.
Ich möchte Benutzer in der Lage sein, Elemente zwischen Zellen zu ziehen.
Also meine HTML sieht ungefähr so aus:
<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>
Dann bin ich mit jQuery 1.3.1 und 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
});
});
});
Beachten Sie, dass dies vereinfacht, verkürzt und unvollendet Code.
Mein Problem ist, dass in FX, Safari, Chrome usw. (d. H. Alle anständigen Browser) das funktioniert.
IE wirklich kämpft aber. Bei einer 5x5-Tabelle ist die IE-Verzögerung beim Start eines Ziehens bemerkbar. Bei einer 10x10-Tabelle mit vielleicht 100 Elementen hängt der Beginn des Ziehens den Browser.
Ich möchte in der Lage sein, bis zu runden 20x15 Zellen und vielleicht bis zu 500 Elemente zu unterstützen - ist das einfach unmöglich? Es scheint nicht so zu sein.
Mache ich etwas falsch? Gibt es einen Weg dies zu tun, der die Seite im IE nicht so verlangsamt?
Ich habe auch dieses genaue Problem. große Tabelle, verschachtelte divs innerhalb der Tabelle. firefox rendert die Seite innerhalb von 10 Sekunden, dh rendert die Tabelle nach einer Wartezeit von 2 Minuten. firefox reißt immer noch zusammen mit dem Drag und dtop, dh crawls .. infact es friert ein, und das Drag & Drop funktioniert nicht. werde ich einige der unten aufgeführten Lösungen versuchen. die feste Breite und die Referenzen #id tagname.class.Aber ich habe Angst, dass es immer noch langsam sein wird. Wenn jemand anderes gute Deas hat, wäre ich ganz Ohr. – Bingy
Ja - meine Lösung war, IE-Benutzer zu beschränken - sie können nur eine kleine Teilmenge der Zeilen und Spalten auswählen, die FX- und Chrome-Benutzer können. Selbst dann wird IE8 nur mit vielleicht 25 Zellen (5x5 Gitter) zurechtkommen, 7 und 6 bleiben hoffnungslos. Es bringt Erinnerungen an die Web-Entwicklung der späten 90er Jahre zurück und ist eine hässliche Sache, aber was kannst du noch tun, wenn ihr Browser so schlecht ist? – Keith
Mit demselben Problem, IE ist super langsam mit großen Raster, aber Chrome und Firefox sind in Ordnung. –