我知道掌上电脑不适合移动设备,但我们是否可以使用最新版本在移动设备上进行编辑?
此致
答案 0 :(得分:0)
我使用Handsontable版本0.25.1,但我想在最新版本中情况仍然相同。
我的经验仅适用于iPad设备(iOS 9);我不能谈论所有移动设备。
我发现渲染可以接受。但如果你点击一个单元格来编辑没有任何反应,这是相当有限的!我做了两个小改动来纠正:
在handsontable.full.js
中追踪所有这些,onCellMouseDown()
中的逻辑正在测试event.button === 0
(即鼠标左键)以开始设置以识别双击以激活移动文本编辑器。在触摸设备上,他们明确地从他们的onMouseDown/Move/Up()
调用他们的onTouchStart/Move/End()
,将接收到的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})
。