knockout.js 计算敲除JS函数似乎未在Firefox中为按键事件解除绑定

rjee0c15  于 2022-11-10  发布在  其他
关注(0)|答案(1)|浏览(140)

我使用下面的函数和knockout

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中的Firefox工作正常
我发现,除了Enter键,Firefox的Shift + Enter和Ctrl + Enter组合键之外,非打印键不再触发keypress事件。因此,当我按Tab键时,如果我模糊了允许跳转的元素,即使在FF中,它也会跳转到下一个具有tabindex属性的HTML元素,但只会跳转到第二次按键。
我试着解开元素,但效果不好。有什么想法吗?

velaa5lx

velaa5lx1#

keypress事件已被取代。您应该改用keydown

相关问题