javascript - polymer 1.5/iOS : How to stop event propagation over iron-pages

标签 javascript ios polymer dom-events polymer-1.0

我们有一个单页应用程序,它使用铁页和 Express-router 进行导航。在浏览器和 Android 上它运行得很好,但在 iOS 上,我们有一个错误。如果我们通过按下按钮来切换页面,就会出现问题。如果按钮恰好位于输入文本字段元素上方(读取:在相同位置,但在下一个铁页上),则输入元素在页面切换后直接获得焦点。

我们过去也遇到过这个问题,两个按钮位于同一位置,但通过将所有点击更改为点击解决了这个问题。

到目前为止我们已经尝试过的事情:

  • event.stopPropagation 添加到点击事件
  • 包含 fastclick.js 以防止点击延迟(当点击仍然存在但已因点击而过时时,此方法部分有效)

请注意,从 Polymer 1.0 到 1.5,我们都遇到过这个问题。

最佳答案

我在 iPad Air 2 上重现了您的症状,并尝试 e.stopPropagation()e.preventDefault(),并返回 false 都没有效果。我不确定这是否真的是 polymer 问题。

在页面切换期间,我有几个[hacky]解决方法可供使用:

  • 选项 1:将页面更改延迟 400 毫秒。如果您的按钮具有涟漪效果,则延迟会被动画掩盖。

    codepen

  • 选项 2:禁用输入并在 400 毫秒延迟后重新启用它。这可以防止输入拾取点击事件,但缺点是禁用状态可能很明显(也许比您当前的问题危害较小)。

    codepen

关于javascript - polymer 1.5/iOS : How to stop event propagation over iron-pages,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38077416/

相关文章:

javascript - 使用 Three.js 从一侧看不到脸

javascript - 将 Jquery 图表导出到 csv、pdf 和 excel

iOS:事件指示器和 WebView

javascript - 如何使用绑定(bind)数据作为 polymer 中的函数输入

polymer - 如何通过 Polymer 创建数据表组件

dart - 在 polymer 和 Dart 中将内容标签渲染为模板的一部分

javascript - 禁用 Opera 的 Ctrl-Click 以编程方式保存图像?

javascript - Angular 4 Material 标题排序问题

ios - 核心数据管理对象上下文保存

ios - Twitter 套件未使用 Fabric 集成