javascript - 检测何时在 UIWebView 中打开/关闭 native 选择小部件

标签 javascript ios scroll uiwebview

当用户单击 UIWebView 中的 select 框时, native 弹出窗口会显示在屏幕底部,其中包含可用选项。网页内容向上滚动以为弹出窗口腾出空间。

虽然 body.scrollTop 的值确实发生了变化,但似乎在发生此滚动时没有触发 DOM 事件。有什么方法可以检测弹出窗口何时打开,还是我们必须使用 setInterval 来轮询并观察 scrollTop 的变化?

最佳答案

我很惊讶滚动事件没有触发。 MDN has a list of events可以绑定(bind)到那可能对你有帮助。

我突然想到,您可以绑定(bind)到选择上的 mouseup 和 input/change 事件,并在它们的回调中确定当用户与选择交互时 scrollTop 是什么。如果您有多个选择需要跟踪,您可以将事件委托(delegate)给正文以避免创建额外的监听器。

轮询会起作用,但与在选择本身上添加一些事件监听器相比,它的效率要低得多,因此希望您能找到一个有效的事件。

希望对您有所帮助!

关于javascript - 检测何时在 UIWebView 中打开/关闭 native 选择小部件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30671194/

相关文章:

javascript - 我怎样才能让这个javascript表单验证DRYer?

javascript - JQuery - 将类添加到元素上,然后与该类交互不起作用

javascript - 两个 jscript 合二为一?

ios - 集成和核心数据轻迁移

jquery - 滚动捕捉以影响 100% 高度的 div

javascript - 使用 Javascript 获取文件属性(客户端)

ios - 在 iOS 设备上生成私钥和证书请求

iphone - 如何将 YouTube 整合到 iPhone 应用程序中

html - 我的 2 个 Div 不断重叠

javascript - 应用反向滚动后无限滚动