1

Safari 开发者库说:

如果您在网页中使用 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 代码中关闭“自定义选择控件”(又名“本机”控件)。

4

1 回答 1

2

select应该做的伎俩中移除焦点:

sel.blur();

于 2013-01-10T02:16:50.770 回答