2016-08-05 187 views

回答

0

我用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})