【发布时间】:2015-08-19 07:32:24
【问题描述】:
我在无障碍项目中使用围绕 Bootstrap 构建的组合框(输入 + 下拉菜单)。
我遇到了在 v3.3.0 和 v3.3.1 之间对 bootstrap 的 dropdown.js 部分进行的更改,这破坏了我的代码。
当焦点是input 时,向上或向下键盘箭头用于触发下拉菜单,这是我想要的,因为目标是使仅键盘导航成为可能,但它不再起作用了。
当我比较时:
https://maxcdn.bootstrapcdn.com/bootstrap/3.3.0/js/bootstrap.js
和
https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.js
更改来自(3.3.0,第 798 行)
Dropdown.prototype.keydown = function (e) {
if (!/(38|40|27|32)/.test(e.which)) return
至(3.3.1,第 799 行)
Dropdown.prototype.keydown = function (e) {
if (!/(38|40|27|32)/.test(e.which) || /input|textarea/i.test(e.target.tagName)) return
所以,我知道我可能可以使用 jQuery 来解决这个问题,但是这种变化有真正的原因吗?如果没有,这可以被视为一个错误报告。
下面是我的小部件的 Bootply 演示。适用于 Bootstrap 3.3.0 及以下任何版本,但如果您将引导版本弹出窗口更改为 3.3.0 以上版本,它不会响应箭头键。
【问题讨论】:
-
我自己也想知道...
标签: javascript jquery html twitter-bootstrap twitter-bootstrap-3