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 (将#修改为@)