当用户单击 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/