使用Jquery mobile时,使用键盘从select中选择一个选项时,无法选择DOM中的下一个输入。如果你取出jquery移动位,事情会按预期工作。
我有以下html:
<body>
<input type='text' id='starter' /><br />
<select id='sel'>
<option value=''></option>
<option value='1'>One</option>
<option value='2'>Two</option>
</select><br />
<input type='text' id='ender' /><br />
</body>
我已经在fiddler上用jquery和jquery mobile设置了这个:
http://jsfiddle.net/58jkj1wa/ - 原始jquery按预期工作。
http://jsfiddle.net/a5reojmo/4/ - jquery mobile broken select。
要重现此问题,请执行以下操作:
在非移动版本中,光标现在按预期位于第二个输入中。在移动版本中,它位于其他地方......我不知道在哪里。您有很多选项卡可以将焦点再次移动到第一个输入...然后通过您刚刚使用的选择后所需字段的输入。
就我个人而言,我认为这是一个错误,所以我觉得准备做的最干扰就是尝试使用on change触发器尝试将焦点设置回选择如下:
$("#sel").on("change", function (e) {
$("#sel").focus();
});
但这不起作用。如果您在其他任何地方进行焦点调用,它将按预期工作,正确突出显示并在不更改值时标记。但是一旦你改变了价值,焦点就在其他地方。
我可以将焦点设置为下一个项目:
$("#sel").on("change", function (e) {
$("#ender").focus();
});
但我不愿意这样做,因为这意味着我无法动态隐藏我正在做的输入,并且必须以编程方式镜像表单中的流处理。
我已经尝试更新JQM添加的一些包装内容,并且我已经尝试将注意力集中在另一个输入上,然后再次返回,然后选择性地进行选择菜单刷新,但移动设备仍然可以&#39;标签输出到下一个输入。我也试过各种模糊()和焦点()调用都无济于事。
我确实看到this answer通过添加一个keydown处理程序来做类似的事情,但由于我不知道值改变后焦点在哪里我不知道在哪里添加keydown处理程序...除此之外听起来像JQuery Mobile的bug并不是吗?
在JQuery Mobile中进行选择更改后,您是否知道如何正确制作标签和焦点 - 突出显示?
这是我应该报告的错误吗?