Auswahl mehrerer Elemente mit Shift und Mausklick - jquery

9

Ist es möglich, mit Shift und Mausklick mehrere Elemente auf einer Seite mit jquery auszuwählen?

Ich habe mehrere divs, denen ich einen tabindex gegeben habe, damit ich sie auswählen kann und Dinge tun kann, wie sie löschen usw.

Ich möchte mehr als 1 auswählen können, indem ich die Umschalttaste gedrückt halte und mit der Maus auf jedes Div klicke und darum kämpfe.

Weiß jemand, wie das geht?

    
David 02.10.2010, 21:30
quelle

5 Antworten

6

Ich habe vor einiger Zeit so etwas mit jQuery gemacht:

%Vor%

Dann sollten Sie tun, Funktionen, die diese Elemente auswählen und tun, was Sie brauchen, zog ich mehrere Elemente. Beispiel, wenn Sie diese divs löschen möchten, können Sie zum Beispiel:

%Vor%

Seien Sie vorsichtig, weil ich diesen Code nicht getestet habe.

    
joao 03.12.2012 09:48
quelle
4

Ich habe ein jQuery-Plugin, das genau das tut, was Sie wollen finderSelect es aktiviert Umschalt + Klick, Strg + Klick , Strg + Klick + Ziehen und Standard Klicken auf ein beliebiges Element.

    
Mike 02.08.2013 10:54
quelle
1

Es klingt wie jQuery UI Selectable , wonach Sie suchen, Sie können es hier ausprobieren .

Um bei OS-Konventionen zu bleiben, verwenden sie nur Ctrl und nicht Shift . Dies ist keine Option, die Sie ändern können, ohne den jQuery-UI-Code selbst zu ändern. Es hat auch die Eigenschaft von Klicken und Ziehen über Elemente, um auch eine rechteckige Auswahl zu bekommen ... wenn das von Nutzen ist.

    
Nick Craver 02.10.2010 22:05
quelle
0

Sicher, wenn Sie bereit sind, etwas Arbeit zu tun:)

Achten Sie auf die Umschalttaste, legen Sie eine Variable fest, auf die Sie in Ihren Click-Handler-Funktionen zugreifen können. Wenn die Variable gesetzt ist, fügen Sie diese Variable (oder ihren Tabindex für Ihre aktuelle Implementierung) zu Ihrer Liste hinzu wenn eine Aktionstaste gedrückt wird.

hebt die Variable auf, wenn Sie das Shift-Keyup-Ereignis erhalten.

    
unomi 02.10.2010 21:36
quelle
0

Um ehrlich zu sein, die Strg + linke Maustaste zum Auswählen mehrerer Elemente ist ziemlich Standard-UI-Verhalten und integriert in die jQueryUI Selectable. Wussten Sie auch, dass Sie mit der linken Maustaste klicken und einen Fokus auf mehrere Objekte ziehen können, um sie auszuwählen?

Ich kann jedoch einen Vorteil darin sehen, das fragliche Verhalten anzubieten. Wie wäre es also mit Linksklick oder Ziehen zum Auswählen und dann mit Linksklick und Ziehen zum Abwählen?

Es ist vielleicht nicht der effizienteste Weg, dies zu tun, aber nachdem ich mit den eingebauten Callbacks herumgespielt habe, habe ich etwas gefunden, das zu funktionieren scheint. Basierend auf dem Code in Ihrer Frage habe ich mich in die eingebauten Callback-Funktionen eingehängt, um das, was ausgewählt wurde, zu speichern und auch die Auswahl zu entfernen. JavaScript dupliziert unten, aber

    
Ishan Jain 03.12.2012 10:33
quelle

Tags und Links