长按后抬起手指时iOS中没有Javascript事件?
Posted
技术标签:
【中文标题】长按后抬起手指时iOS中没有Javascript事件?【英文标题】:No Javascript event in iOS when lifting finger after long press? 【发布时间】:2014-01-25 20:03:42 【问题描述】:我正在尝试检测用户何时使用 javascript 在 ios 上完成了调整文本选择的大小。
虽然我知道 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事件?的主要内容,如果未能解决你的问题,请参考以下文章