jQuery-IOS选项卡箭头事件和选项选择

时间:2018-12-10 09:21:16

标签: jquery html ios focus dropdown

我有2个这样的下拉列表:

<select id="first">
     <option>M1</option>
     <option>M2</option>
</select>
<select id="second">
     <option></option>
</select>

第一个固定了数据,我在第二个中加载了数据,像这样:

 $("#first").change(function () {
        load2ndListData($("#first").val());
});

通常,如果用户从第一个列表中选择项目,然后单击第二个。第二列表有足够的时间根据第一列表的选定项目加载其数据。但是问题是,如果我在选择第一个列表中的项目之后使用了选项卡箭头按钮。

屏幕截图

1

在完成加载数据之前,它立即聚焦于第二个下拉列表。

我做了一些研究,发现这些箭头按钮只能通过focus()处理。因此,我在另外两个当前列表之间添加了1个不透明度= 0的列表:

<select id="first">
     <option>M1</option>
     <option>M2</option>
</select>
<select id="middle" style="opacity:0;">
     <option></option>
</select>
<select id="second">
     <option></option>
</select>

JS:

$("#middle").focus(function () {
        document.getElementById("first").focus();
        $.when($.ajax(load2ndListData())).then(function () {
            document.getElementById("second").focus();
        });
});

运行良好,但是第二个列表的数据加载速度非常慢,因为load2ndListData()被调用了两次。一种来自change()事件,另一种来自focus()事件。有人可以在这里给我一些建议吗?我尝试使用节流阀,但是没有运气,并且我无法放弃change()事件,因为该站点还可以在没有这些按钮的其他平台(如Android)上运行!非常感谢你。

0 个答案:

没有答案