微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

jquery 选择更改事件发生和键盘导航

如何解决jquery 选择更改事件发生和键盘导航

这个问题与jquery select option click handler 9 years old question有关。

我有一个下拉菜单,这个下拉菜单真的很大。 我想在下拉列表更新时自动提交表单。

  • 如果我使用 on("click") 事件:它适用于 Firefox,但不适用于 Chromium。
  • 如果我使用 on("change") 事件:它适用于两个(当然还有其他)但是:无法转到最后一个元素,当通过键盘选择选项时会发生更改事件
  • 如果我使用 on("blur") 事件:它在更改时起作用,但也没有选择更新......

$(document).ready(function(){
     $("#onchange").change(function(){
     /* this happen at bb,no way to set FF */
        $("#form").submit();
   });
     $("#onblur").blur(function(){
        /* happen without update */
        $("#form").submit();
   });
 });
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form id="form">
<label for="onchange">onchange</label>
<select name="onchange" id="onchange">
<option value="aa" selected="selected">AA</option>
<option value="bb">BB</option>
<option value="cc">CC</option>
<option value="dd">DD</option>
<option value="ee">EE</option>
<option value="ff">FF</option>
</select>
<hr>
<label for="onblur">onblur</label>
<select name="onblur" id="onblur">
<option value="aa" selected="selected">AA</option>
<option value="bb">BB</option>
<option value="cc">CC</option>
<option value="dd">DD</option>
<option value="ee">EE</option>
<option value="ff">FF</option>
</select>
<hr>
<input type="submit" value="submit">
</form>

是否有人有一个很好的解决方案来禁用带有键盘导航的选择更改事件?

谢谢

截屏:

  • Firefox 84.0.2(64 位)/Linux

    Firefox 84.0.2 (64 bits)

  • Chromium 版本 87.0.4280.88/Linux(64 位)

    Chromium

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。