• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Windows 8: Horizontales Wischen gekapert

S

Sempervivum

Guest
Hallo,
vor kurzem habe ich meine Homepage zum ersten Mal auf einem Tablet mit Windows 8 gesehen. Ich habe eine Lightbox (iLightbox), die man durch horizontales Wischen von einem Bild zum nächsten fortschalten kann. Leider wird durch die IE-App von Windows 8 das horizontale Wischen gekapert, weil es dort den Wechsel zwischen den Tabs bewirkt.
Fürchte zwar, dass man da nichts machen kann, aber ich wollte dieses Problem trotzdem mal zu Diskussion stellen.
Ich habe folgende Anweisung im Javascript:
Code:
$('img').on('dragstart', function (event) { event.preventDefault(); });
aber diese unterdrückt offenbar nur das Default-Verhalten des Browsers aber nicht des BS.
http://www.ulrichbangert.de/
(auf ein Bildchen des Karussels klicken, um die Lightbox zu öffnen.)
Unter Android gibt es dieses Problem nicht.
Viele Grüße - Ulrich
 
Zuletzt bearbeitet von einem Moderator:
Werbung:
PS: Wenn ich es mir richtig überlege, erfolgt die Reaktion auf das Wischen doch durch den Browser denn dieser verwaltet die Tabs. Warum funktioniert dann das preventDefault nicht?
 
Unser allseits geliebter IE kennt kein preventDefault.
"event.returnValue =false;" sollte dort die Lösung der Wahl sein.
 
Werbung:
*smile* Aha, danke! Funktioniert dies dann auch für die anderen Browser?
 
Nein, es ist üblich das Vorhandensein von preventDefault abzufragen:
Code:
if(event.preventDefault)event.preventDefault();
else event.returnValue =false;
 
Zuletzt bearbeitet:
Werbung:
Dank jQuery sollte das keine Probleme machen.
Jetzt verstehe ich gar nichts mehr. Offenbar heißt die Funktion preventDefault in Standard-JS und in jQuery gleich. Wodurch wird entschieden, welche verwendet wird? In dem Code von meinem ersten Posting verwende ich die Funktion im jQuery-Kontext. Heißt das, dass ich dann keine bedingte Ausführung brauche?
 
Jetzt verstehe ich gar nichts mehr. Offenbar heißt die Funktion preventDefault in Standard-JS und in jQuery gleich. Wodurch wird entschieden, welche verwendet wird? In dem Code von meinem ersten Posting verwende ich die Funktion im jQuery-Kontext. Heißt das, dass ich dann keine bedingte Ausführung brauche?
jQuery liefert kein natives event, sondern wrapped dieses in einem eigenen object. event.preventDefault ist daher eine jQuery-eigene methode, die den IE fallback bereits handhabt.

Das originale Event lässt sich mit event.originalEvent ansprechen.
 
Zurück
Oben