JQuery Sortierbar - Bug im IE behandelt?

8

Ich habe eine Liste von divs, die ich sortieren kann. Jedes Div hat Text und einen Handle darin (aufgrund der Benutzeroberfläche möchte ich nur sortieren, wenn die linke Hälfte des Listenelements gezogen wird). In Chrome / FireFox funktioniert das großartig, aber im IE, wenn Sie auf den Text klicken, lässt es Sie nicht sortieren, obwohl der Text innerhalb des Handles ist.

Ich habe hier ein abgespecktes Modell des Problems, stellen Sie sicher, dass Sie den Internet Explorer zum Testen verwenden: Ссылка

Ich gehe davon aus, dass dies eine Schichtungssache ist, habe aber die folgenden Ansätze ohne Glück versucht:

  • Ändern der Z-Indizes von Text und Handle
  • $ (". itemname"). disableSelection ();
  • ms-user-select: keine; Benutzerauswahl: keine;
  • Hinzufügen der Textklasse zur Liste der Handles - dies löst das Problem, funktioniert aber nicht für mich, da ich nicht möchte, dass der Text in der rechten Hälfte des Listenelements die Sortierung auslöst
  • Hintergrundfarbe auf dem Griff einstellen - Ich weiß, das klingt komisch, aber wenn ich eine Farbe anwähle, wird sie zum obersten Element und wirkt somit korrekt, obwohl es den Text verbirgt, der für mich nicht funktioniert.

Hat jemand noch andere Ideen?

    
Shane N 17.02.2012, 15:44
quelle

2 Antworten

6

Sie haben ein zusätzliches Komma nach ".sorthandle", das in IE bricht:

%Vor%

Ändern Sie es in:

%Vor%

Ich habe im Kommentar vorgeschlagen, die Methode disableSelection() von jQuery UI zu verwenden. Obwohl es nicht ganz so gut funktioniert.

Ich habe es geschafft, das zu erreichen, was Sie wollen, indem Sie eine Hintergrundfarbe für das Handle und die Deckkraft auf Null setzen, damit sie unsichtbar ist:

%Vor%

DEMO

Natürlich entfernt das Ihre grüne Grenze, ich weiß nicht, ob das wichtig ist oder nicht.

Vielleicht würde dies funktionieren, indem Sie ein png transparentes Hintergrundbild verwenden. Meine Vermutung ist, dass das Handle keinen Hintergrund hat, IE den darunter liegenden Text auswählt.

    
Didier Ghys 17.02.2012, 16:00
quelle
1

ändere dein Layout wie folgt: (Art eines Hacks)

%Vor%

und fügen Sie diese CSS hinzu:

%Vor%

VERWENDEN SIE DIESE, wenn Sie den Rahmen am Sortierhandle behalten möchten

    
Mark Schultheiss 17.02.2012 16:36
quelle