禁用某些按键的“keydown”事件侦听器

问题描述 投票:0回答:1

我希望我的 Bootstrap 选项卡切换器停止使用 UpDown 键,这样页面就可以滚动,就好像它们没有聚焦一样。

$('input[type="radio"][role="tab"]').on('keydown keyup', function (e)
{
    if (e.key == 'ArrowDown' || e.key == 'ArrowUp')
    {
        e.stopImmediatePropagation();
        e.stopPropagation();
        e.preventDefault();

        // So far so good.

        $('body')[0].dispatchEvent(new KeyboardEvent(e.type, { 'key': e.key }));

        // No effect :(
    }
});

上面的代码使控件停止响应UpDown,但不幸的是页面仍然不滚动。

javascript jquery event-listener keyup bootstrap-tabs
1个回答
0
投票

您不需要阻止默认,这样滚动就可以工作。如果您发布了一个 HTML 示例,我可以对此进行测试

试试这个

$('input[type="radio"][role="tab"]').on('keydown', function(e) {
  if (e.key == 'ArrowDown' || e.key == 'ArrowUp') {
    // Stop propagation to the tab control but allow default behavior
    e.stopPropagation();
  }
});
© www.soinside.com 2019 - 2024. All rights reserved.