{"id":236,"date":"2011-07-05T23:27:09","date_gmt":"2011-07-05T21:27:09","guid":{"rendered":"https:\/\/sgaul.de\/?p=236"},"modified":"2014-03-13T21:34:55","modified_gmt":"2014-03-13T20:34:55","slug":"java-script-drag-and-drop-auf-geraten-mit-touch-display","status":"publish","type":"post","link":"https:\/\/sgaul.de\/2011\/07\/05\/java-script-drag-and-drop-auf-geraten-mit-touch-display\/","title":{"rendered":"Java-Script-Drag-and-Drop auf Ger\u00e4ten mit Touchscreen"},"content":{"rendered":"
Manchmal ist man eben doch zu voreilig: F\u00fcr ein Uniprojekt planten und versprachen wir schnell und ohne weitere Recherche eine Web-Applikation<\/a>, die mittels \u201eDrag-and-Drop<\/strong>\u201c gesteuert werden kann. An sich keine gro\u00dfe Herausforderung: Mit Frameworks wie J-Query UI<\/strong> ist der wesentliche Teil der Arbeit schon erledigt, bevor man anf\u00e4ngt. Dass das alles nebenbei auf einem Tablet-PC mit Ber\u00fchrungsbildschirm laufen soll haben wir dabei nicht als Problem gesehen. Aber leider funktioniert J-Query UIs Drag-and-Drop nicht auf<\/strong> Touch-Displays<\/strong> \u2013 genau wie alle vergleichbaren Frameworks auch. Zeit sich nach einer Alternativl\u00f6sung<\/strong> umzusehen…<\/p>\n Das Problem ist schnell erkl\u00e4rt: Bisherige Ans\u00e4tze basieren im Wesentlichen auf Maus-Ereignissen<\/strong>, welche Java-Script-Engines bereitstellen. Ein Ziehen beginnt, wenn \u00fcber einem Objekt die Maustaste gedr\u00fcckt (und nicht gleich losgelassen) wird, dem Onmousedown<\/strong>-Event. Das Loslassen ist ebenfalls an das Loslassen der Maustaste gekoppelt, onmouseout<\/strong> genannt. Auch die Bewegung selbst ist mit der Maus und onmousemove<\/strong> verbunden.<\/p>\n Da es auf Ber\u00fchrungsbildschirmen keine Maus<\/strong> gibt, werden konsequenterweise auch keine derartigen Events erzeugt. Stattdessen gibt es ber\u00fchrungsbezogene \u00c4quivalente zur Maus: ontouchstart<\/strong>, ontouchmove<\/strong> und ontouchend<\/strong>.<\/p>\n Eine fast schon unwichtige Namens\u00e4nderung, die Konsequenzen sind aber entsprechend gro\u00df: Bisherige Java-Script-Codes funktionieren auf dem Touchscreen nicht.<\/p>\n Die genannte Umstellung klingt unkompliziert, dennoch gibt es weder von J-Query UI noch J-Query Mobile eine L\u00f6sung<\/strong>. Dennoch gibt es vielversprechende Ans\u00e4tze:<\/p>\n Weiteres zum Thema demn\u00e4chst.<\/p>\n Manchmal ist man eben doch zu voreilig: F\u00fcr ein Uniprojekt planten und versprachen wir schnell und ohne weitere Recherche eine Web-Applikation, die mittels \u201eDrag-and-Drop\u201c gesteuert werden kann. An sich keine gro\u00dfe Herausforderung: Mit Frameworks wie J-Query UI ist der wesentliche Teil der Arbeit schon erledigt, bevor man anf\u00e4ngt. Dass das alles nebenbei auf einem Tablet-PC… Java-Script-Drag-and-Drop auf Ger\u00e4ten mit Touchscreen<\/span> weiterlesen<\/a><\/p>\n","protected":false},"author":1,"featured_media":237,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[91],"tags":[85,158],"_links":{"self":[{"href":"https:\/\/sgaul.de\/wp-json\/wp\/v2\/posts\/236"}],"collection":[{"href":"https:\/\/sgaul.de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sgaul.de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sgaul.de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sgaul.de\/wp-json\/wp\/v2\/comments?post=236"}],"version-history":[{"count":7,"href":"https:\/\/sgaul.de\/wp-json\/wp\/v2\/posts\/236\/revisions"}],"predecessor-version":[{"id":241,"href":"https:\/\/sgaul.de\/wp-json\/wp\/v2\/posts\/236\/revisions\/241"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/sgaul.de\/wp-json\/wp\/v2\/media\/237"}],"wp:attachment":[{"href":"https:\/\/sgaul.de\/wp-json\/wp\/v2\/media?parent=236"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sgaul.de\/wp-json\/wp\/v2\/categories?post=236"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sgaul.de\/wp-json\/wp\/v2\/tags?post=236"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}Das Problem<\/h2>\n
L\u00f6sungsm\u00f6glichkeiten<\/h2>\n
\n