【问题标题】:Safari and IPhone and HTML Select and jQuery Mobile -- Close the "custom select control" from javascript?Safari 和 iPhone 和 HTML Select 和 jQuery Mobile -- 从 javascript 中关闭“自定义选择控件”?
【发布时间】:2013-01-09 22:44:43
【问题描述】:

Safari Developer Library 说:

如果您在网页中使用 select HTML 元素,iOS 会显示一个自定义选择控件, 针对使用手指作为输入设备选择列表中的项目进行了优化。

这就是我要询问的“自定义选择控件”(我将其称为“本机”控件),并且在引用的页面中有一张很好的图片,包括“上一个”、“下一个”和“完成”按钮。

我有一个选择列表:

<select id="selected_item_selector">
<option value="1">first item</option>
<option value="2">second item</option>
<option value="#">Add a new item</option>
<select>

和 javascript 说:

$(function() {
    var sel = $('#selected_item_selector');
    sel.change(function(e) {
        var selectedItemForm = $('#select_item_form'),
            id = $(this).val(),
            href = '/add-item.html';
        if(id == '#') {
            document.location.href = href;

        }
        /* do something with the id */
    });
    if(sel.val() == '#') {
        /* never have the "add" option selected */
        sel.val(0);
    }
});

所以一切都按预期工作,代码没有问题!!!!

这是问题所在:当浏览器导航到新页面时,“自定义选择控件”保持打开状态,提示与当前浏览器中的页面无关的操作。

这是我想要的解决方案:告诉我如何在卸载页面或加载新页面时从我的 javascript 代码中关闭“自定义选择控件”(也称为“本机”控件)。

【问题讨论】:

    标签: javascript iphone html jquery-mobile mobile-safari


    【解决方案1】:

    select 中移除焦点应该可以解决问题:

    sel.blur();

    【讨论】:

    • @user1964895 太好了!我很高兴它奏效了。请点击空心复选标记将此答案设置为您接受的答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多