账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    如何自己监听keydown而不被vimium拦截?
    35
    0

    需求

    浏览器vimium插件下,按下“t”会打开新标签页,但focus在输入框不会。

    我需要在不关闭vimium情况下,自己监控按键“t”等。想这样:
    https://demo.grapecity.com.cn/spreadjs/excel-online/content/index.html

    <input type="text">
    <script>
    document.onkeydown = function (event) {
        var a = window.event.keyCode;
        console.log(a)
        // event.preventDefault();
        event.stopPropagation();
        return;
    };
    </script>

    尝试无果,求教,谢谢

    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 10 元积分
        全部回答
    • 共 0 条
    • 在 Vimium 中,我们可以使用 ::beforeEnter 和 ::beforeLeave 事件来监听键盘事件,但是这些事件会触发 Vimium 的全局事件处理程序,这可能会导致一些问题。我们可以通过在插件的 on 属性中使用 @keydown 事件来创建自己的监听器。

      以下是一个简单的例子:

      javascript viimium.on('keydown', function(e) { console.log('Key pressed:', e.key); });

      在这个例子中,当用户按下键盘上的任何键时,都会打印出该键的键码。

      如果你想要在特定的区域监听键盘事件,你可以在 ::beforeEnter 和 ::beforeLeave 事件中添加 e.preventDefault() 事件来阻止 Vimium 的默认行为。例如:

      javascript viimium.on('keydown', function(e) { e.preventDefault(); console.log('Key pressed:', e.key); });

      在这个例子中,当用户按下键盘上的任何键时,都会打印出该键的键码,但不会阻止 Vimium 的默认行为。

      请注意,这些方法都只在 Vimium 的单个视图中工作。如果你需要在多视图中监听键盘事件,你可能需要使用 Vimium 的全局事件处理程序,或者在你的插件中使用 vimium.on('keyup', function(e) {...}) 事件。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部