长按后抬起手指时iOS中没有Javascript事件?

Posted

技术标签:

【中文标题】长按后抬起手指时iOS中没有Javascript事件?【英文标题】:No Javascript event in iOS when lifting finger after long press? 【发布时间】:2014-01-25 20:03:42 【问题描述】:

我正在尝试检测用户何时使用 javascriptios 上完成了调整文本选择的大小。

虽然我知道 selectionchange even ,但如果用户使用本机控件,我会收到很多 scroll 事件和一些 selectionchange

现在,我不知道用户何时完成。如果他用手指向下花 5 分钟,既不移动控件也不更改选择,我不会收到“mouseup 等效”事件。

编辑:...我的情况基本上是这样的:https://developer.apple.com/library/ios/DOCUMENTATION/AppleApplications/Reference/SafariWebContent/Art/events_information_bubble.jpg

知道如何实现吗?

谢谢!

【问题讨论】:

为什么不监听 touchend 事件? 不会开火。看起来如果接收事件的元素是本机 UI 控件,则不会触发 touchend(嗯,我不确定,但在我的情况下,只有滚动被触发,之后什么都没有)。 【参考方案1】:

我发现selectionchange 事件即使在单个单词选择时也会触发多次(点击或长按),当然当您拖动选择手柄时它会触发...

这是我创建的一种解决方法(不是一个完美的解决方法),仅获取文本选择结束事件。

你可以在这里看到它:End of text selection event?

或在我的博客上的小帖子中:http://www.dimshik.com/end-of-text-selection-event-on-ios-workaround/

【讨论】:

是的。这也是我正在做的。我想除了那个没有解决办法。您能否确认 touchend 事件没有被触发(可能是因为句柄不是网页的一部分,而是操作系统的一部分)..?

以上是关于长按后抬起手指时iOS中没有Javascript事件?的主要内容,如果未能解决你的问题,请参考以下文章

使用 JavaScript 中断 iOS 滚动

如何检测“长按”

长按后选择复制图像时,swift uitextview html图像会导致崩溃

触摸时图像,手指抬起时消失?

当 1 根手指在屏幕上抬起时禁用捏合识别器

为啥当我在 CN1 应用程序中滑动时抬起手指时,我的侧边菜单会弹回?