firefox - Computed Knockout JS 函数似乎没有在 firefox 中取消绑定按键事件
问题描述
我正在使用以下功能与淘汰赛
self.navigateToSection = ko.pureComputed({
read: function() {
return this;
},
write: function(data, event) {
if (event.type == "keydown") {
if ((event.keyCode != '13')) {
return;
}
}
... (more actions)
}//write
});
这是 HTML 绑定
data-bind="event: {keypress: navigateToSection}">
该功能应该有助于在不同部分之间导航,因此用户必须能够按 Tab 键并跳转到不同的链接。它适用于大多数浏览器,除了 Windows 10 中的 firefox 它在 Mac for Firefox 中运行良好
我发现对于不可打印的键不再触发 keypress 事件,但 Enter 键以及 Firefox 的 Shift + Enter 和 Ctrl + Enter 组合键除外。因此,当我按下制表符时,如果我模糊它甚至允许在 FF 中跳转但直到第二次按键之前的元素,它似乎会跳转到具有 tabindex 属性的下一个 HTML 元素。
我尝试取消绑定元素,但效果不佳。有任何想法吗?
解决方案
该keypress
事件已被弃用。你应该keydown
改用。
推荐阅读
- macos - macOS 通知服务无法运行(但重复的 Catalyst/iOS 工作)
- c# - 删除行后如何更新datagridview
- linux - ubuntu 中缺少列输出分隔符
- r - 在两个单独的列中折叠具有连续范围的行
- java - 在 servlet 映射中给出正确的 servlet 名称后,我正在使用 maven 开发项目,但仍然无法给出 classnotfound 异常?
- ios - ATTrackingManager.requestTrackingAuthorization 完成状态返回 notDetermined
- debugging - 如何从文件中间的一行开始重新运行调试?
- android - 如何在多显示器设备的第二个屏幕上启动应用程序
- javascript - 在盒子里着色
- node.js - 将文件添加到 webpack 中的热加载轨道列表