NEWS
VIS jqui Dialog Widgets – Scroll Problem auf Touch Geräten
-
Hallo zusammen,
Ich benutze einige jqui Dialog Widgets in meiner VIS. Auf Touch Geräten wie z.B. einem Smartphone wird der Dialog leider immer schon geöffnet, sobald der Button beim Scrollen auch nur kurz berührt wird, was echt störend ist.Dieses Verhalten tritt bei allen jqui-Dialog Widgets auf, unabhängig davon ob jqui-container-Button-view in jqui Dialog, jqui-HTML-Dialog, jqui-Icon Dialog, etc. verwendet werden.
Alle anderen von mir verwendeten jqui Widgets, wie z. B. Button Link, o.ä. zeigen dieses Verhalten beim Scrollen nicht. Hier wird nur ausgelöst, wenn der Button auf dem Touch auch tatsächlich gedrückt wird.Wäre echt super, wenn dieses Verhalten der jqui Dialog-Widgets von den Entwicklern im VIS Adapter evtl. geändert werden könnte. Ich habe diesbezüglich auf Github auch schon ein issue beim VIS Adapter erstellt.
Oder hat hier im Forum vielleicht noch jemand eine Idee wie man das Problem beim Scrollen z.B. durch ein kleines Skript in VIS aushebeln/überschreiben könnte?
PS: Mein System ist komplett auf aktuellem Stand (beta rep.) mit Node.js 12.21.0.
Vielen Dank im VorausMK-66
-
@mk-66 Hallo, ich habe das selbe problem und suche nach Lösungen oder Workarounds, habe aber noch nichts gefunden das gut funktioniert. Hast du in der zwischenzeit vielleicht schon eine Lösung?
-
@fritzke316 Hallo, ich habe leider auch noch keine Lösung hierfür. Ich hoffe, dass die Entwickler hier mitlesen oder den issue auf github lesen und das Problem somit ggf. in einem nächsten Update von vis gefixt werden kann.
-
@mk-66 Ja das hoffe ich dann auch, da ich mitten im meinem Projekt stecke und jetzt nicht weiß ob ich wie gedacht weiter machen kann. Denn wenn das Problem nicht gefixt wird mach das Bedienen of dem Handy keinen Spass.
-
@fritzke316
Hallo,
nachdem ich mir mal die Event Listeners beim Dialog Öffnen im Browser mittels F12 etwas genauer angeschaut habe, konnte Ich mir eine temporäre Lösung für das vorzeitige Öffnen der Dialoge beim Scrollen auf Touch Geräten basteln. Diese Lösung könnte man solange einsetzen bis die Entwickler den kleinen Bug bei den jqui Dialog Widgets im VIS Adapter behoben haben.
Folgende Codezeilen könntest Du Du dazu in Deinem VIS Projekt beim Reiter Skripte am besten ganz am Ende einfügen:// Touch Scroll Problem für Dialoge temporär beheben 05.04.2021 M.K. // Handler für Dialog Scroll Popup Blockade auf Touch Geräten $( "#vis_container" ).on( "DOMSubtreeModified", function(event) { setTimeout(function () { $(".vis-widget-body").unbind("touchend"); }, 500); }); // Ende Dialog Scroll Popup Blockade
Die Profis hier im Forum dürfen bitte nicht so genau auf die Codezeilen schauen, bin nicht so wirklich ein javascript / jquery Programmierer.
Die Codezeilen bewirken, dass der Event Listener „touchend“ bei den jqui dialog widgets bzw. beim vis-widget-body mittels unbind deaktiviert wird. Bei mir funktioniert dies auf einem Android Handy und auf einem ipad Mini 2 jedenfalls wunderbar, Nachteile konnte ich bislang keine feststellen.
Ich hoffe natürlich auch, dass die Entwickler hier mitlesen und den Bug im VIS Adapter durch diese Erkenntnisse evtl. leichter finden und somit auch schneller fixen können, sodass man die eingefügten Codezeilen danach dann wieder löschen kann.
Gruß MK-66
-
@mk-66 Das funktioniert super!! Vielen Dank!!
-
@fritzke316 Freut mich, dass es auch bei Dir gut funktioniert
-
@fritzke316 Habe gerade festgestellt, dass bei längerer Inaktivität der VIS Bildschirm des Projektes einfach weiß wird und erst nach einem Reload alles wieder korrekt angezeigt wird.
Habe daher bei mir die Zeile 4 im Code von "DOMSubtreeModified" auf “touchstart“ geändert. Solltest Du irgendwann evtl. ähnliche Probleme feststellen, einfach die Zeile 4 im Code wie folgt ersetzen:
$( "#vis_container" ).on( "touchstart", function(event) {
Gruß