Ist es möglich, die Sortierung der Tabelle zu stoppen, wenn der Benutzer auf div
im Tabellenkopf th
?
In meinem Fall hat div die Funktion onClick="resize(e)"
, auf der ich Folgendes mache:
Aber es funktioniert nicht.
Bearbeiten: Tabelle wird vor e.stopPropagation()
oder return false
Ich habe zwei Demos für dich gemacht. Der erste enthält den Inhalt der Tabellenüberschrift in einem Bereich und der zweite enthält die undokumentierte Funktion onRenderHeader
, um die span
innerhalb der Kopfzeile hinzuzufügen. In beiden Fällen ist nur der Inhalt von span
anklickbar (der Text), während beim Klicken außerhalb des Inhalts die Spalte sortiert wird. Wenn Sie div
verwenden, ist nur der Header-Padding verfügbar, um eine Spaltensortierung zu initialisieren.
Demo 1 - Inhalt des Headers in das Markup eingepackt
%Vor% Demo 2 - Header-Inhalt mit der Option onRenderHeader
eingepackt
Wenn Sie weitere Informationen zur Verwendung der Option onRenderHeader
benötigen, sehen Sie sich meine Blogpost zu den fehlenden Dokumenten.
Beenden Sie die Propagierung, um zu verhindern, dass das Ereignis sprudelt, aber wenn Sie die Standardaktion abbrechen möchten, sollten Sie event.preventDefault ()
verwendenIch bin gerade auf dieses genaue Problem gestoßen. Ich habe alles vorgeschlagen, einschließlich der direkten Zuweisung eines nicht-delegierten Event-Handlers zu dem genauen Element, das ich wollte, dann stoppe alle Propagierung + das Ereignis selbst. Immer noch kein Glück.
Aber ... es stellt sich heraus, dass jQuery tablesorter dem mouseup -Ereignis ein Ereignis zuweist, nicht dem click -Ereignis (wie Sie es erwarten würden!). Um zu verhindern, dass Tablesort es tut, müssen Sie stattdessen nur dieses Ereignis abbrechen. Hoffe, das hilft.
Tags und Links javascript jquery tablesorter