【问题标题】:Override default Next/Previous iOS on Knockout dropdowns在 Knockout 下拉列表中覆盖默认的下一个/上一个 iOS
【发布时间】:2015-06-24 17:45:45
【问题描述】:

我有一个级联的剔除下拉菜单,当第一个被选中时,另一个选择菜单被创建并添加到它下面。这是使用绑定到列表的模板完成的,菜单被添加到此列表并自动绑定到 DOM。 问题是如果用户滚动浏览这样的选项:


并点击“下一步”(右箭头,用于将您带到下一个输入)它选择当前悬停的选项(在本例中为 6 月 18 日)并创建新选择但随后不是导航到新创建的选择菜单,而是跳过它并转到之后的那个(在我的情况下,在页面下方)。如果您然后点击“上一个”,它会将您带回到新创建的下拉菜单。

有没有办法覆盖该功能,以便它等待创建新的下拉菜单并导航到它,而不是在按下 Next 时跳过它?

编辑:另外应该注意的是,我确实将选项卡索引绑定到菜单,它们以正确的顺序显示,选项卡索引 1 然后 2 然后 3,所以这不是问题,它必须是关于元素不是现有的。

【问题讨论】:

    标签: ios knockout.js


    【解决方案1】:

    很遗憾,没有。 SELECT 菜单由操作系统呈现,mobile safari takes full control 的 SELECT。你无法控制这些按钮的作用。

    但是,在进行选择后,不要创建级联下拉列表,只需填充它即可。确保它始终存在,但将其留空,直到上一个下拉列表有选择。这将确保下一个按钮将您带到正确的 SELECT 控件。

    【讨论】:

    • 这确实有效,但是至少现在我试图将其保留为动态创建下拉菜单,因为可能的菜单数量会有所不同,因此静态数量的预制菜单并不理想。
    • 那你就不走运了。真的没有办法做到这一点。至少,不使用 SELECT。您可以使用 HTML 创建自己的下拉菜单,但这条路充满了困难。
    • 是的,我意识到没有记录的方法可以做到这一点。但是现在我想出了几个“不优雅”的解决方案,例如在创建下拉菜单的地方添加一个不可见的输入,以便在点击“下一步”时获得焦点,并以编程方式将焦点重新分配给新的创建菜单,它发生得如此之快,以至于它似乎一直都有焦点。但我希望有人会有更好的东西。
    猜你喜欢
    • 1970-01-01
    • 2019-05-31
    • 1970-01-01
    • 2012-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-16
    • 1970-01-01
    相关资源
    最近更新 更多