Ich weiß, dass Handsontable nicht für Mobilgeräte geeignet ist, aber gibt es eine Problemumgehung, die wir mit der neuesten Version auf Mobilgeräten bearbeiten können?Handsontable auf Mobilgerät bearbeiten
Grüße
Ich weiß, dass Handsontable nicht für Mobilgeräte geeignet ist, aber gibt es eine Problemumgehung, die wir mit der neuesten Version auf Mobilgeräten bearbeiten können?Handsontable auf Mobilgerät bearbeiten
Grüße
Ich benutze Handsontable Version 0.25.1, aber ich glaube, die Situation auf dem neuesten Release immer noch das gleiche ist.
Meine Erfahrung ist nur mit iPad-Gerät (iOS 9); Ich kann nicht über alle mobilen Geräte sprechen.
Ich fand das Rendering akzeptabel. Aber wenn du auf eine Zelle tippst, passiert nichts, was eher einschränkend ist! Ich habe gerade zwei kleine Änderungen zu korrigieren:
all dieses Recht unten in handsontable.full.js
Tracing, die Logik in onCellMouseDown()
ist Test für event.button === 0
(dh linke Maustaste) zum Erkennen der Doppelklick Einrichtung zum Starten des mobilen Text aktivieren Editor. Auf einem Touch-Gerät rufen sie explizit ihre onMouseDown/Move/Up()
von ihrem onTouchStart/Move/End()
, die Maus Ereignisse die event
Struktur für das Touch-Ereignis erhalten. Berührungsereignisse 'event
Struktur hat jedoch kein button
Mitglied, so dass undefined
ist, verursacht schlechtes Verhalten.
Die direkte Einstellung der übergebenen event.button = 0
vor der Übergabe an die Maus Ereignishandler löst dies. Setzen Sie in Zeile:
event.button = 0; // set as left mouse button
in onTouchStart()
[vor dem Aufruf zu onMouseDown(event)
, um die Linie 1326] & onTouchEnd()
[vor onMouseUp(event)
rufen, um die Linie 1368].
Wenn Sie nun in eine Zelle tippen, können Sie sie bearbeiten. Es bringt ihre MobileTextEditor
. Was ich aus mehreren Gründen nicht mochte, einschließlich der Tatsache, dass es oft hinter der Bildschirmtastatur erscheint, so dass der Benutzer es nicht einmal weiß, dass es da ist! Ich änderte ihre Handsontable.TextCell
[um die Linie 4346], so dass die editor:
Zeile liest jetzt:
editor: (isMobileBrowser() && Handsontable.useMobileEditor) ? getEditorConstructor('mobile') : getEditorConstructor('text'), // only use mobile editor if explicitly called for
So ist es das Standard-in-Place-Texteditor verwendet, die ich lieber, es sei denn, Sie hot.updateSettings({useMobileEditor: true})
gehen.