在移动设备上Handsontable编辑
答
我用Handsontable版本0.25.1,但我想形势仍处于非常最新版本相同。
我的经验仅限于iPad设备(iOS 9);我无法谈论所有的移动设备。
我发现渲染可以接受。但是如果你点击一个单元格来编辑什么都不会发生,这是相当有限的!我做了只有两个小的变化,以纠正:
跟踪这一切的权利下来handsontable.full.js
,在onCellMouseDown()
逻辑是event.button === 0
(即鼠标左键)测试开始用于识别双击以激活移动文本设置编辑。在触摸设备上,他们明确地从它们的onTouchStart/Move/End()
中调用它们的onMouseDown/Move/Up()
,将触摸事件接收的结构传递给event
结构。但是,触摸事件'event
结构没有button
成员,因此是undefined
,导致不良行为。
在传递给鼠标事件处理程序之前,直接设置传入的event.button = 0
可解决此问题。在放线:
event.button = 0; // set as left mouse button
成onTouchStart()
[来电onMouseDown(event)
之前,围绕线1326] & onTouchEnd()
[来电onMouseUp(event)
,围绕线1368之前。
现在正确地进入单元格允许编辑。它带来了他们的MobileTextEditor
。由于多种原因,我不喜欢这种情况,其中包括通常出现在屏幕键盘背后的事实,因此用户甚至不知道它在那里!我改变了自己的Handsontable.TextCell
[周围线4346],这样editor:
行现在如下所示:
editor: (isMobileBrowser() && Handsontable.useMobileEditor) ? getEditorConstructor('mobile') : getEditorConstructor('text'), // only use mobile editor if explicitly called for
所以它使用标准就地文本编辑器,这是我愿意的话,除非你去hot.updateSettings({useMobileEditor: true})
。