vue中keyup.tab如何阻止浏览器默认事件

vue中绑定keyup.tab.prevent无法阻止tab键浏览器默认事件

相关代码

@keyup.stop.prevent="onKeyup"

methods: {
    onKeyup(e){
        e.preventDefault();
        switch (e.keyCode) {
          // tab
          case 9:
             ......
        }
        return false 
    }
}

如上代码,template中绑定keyup并且也指定修饰符prevent,onKeyup方法中也使用e.preventDefault()和return false,但是均无法阻止tab键的默认事件。

请问是否有其他可以解决的方法?

阅读 8.9k
4 个回答
//按我这样写        
    $(document).ready(function () {
        $(document).bind('keydown', function (event) {
            if (event.keyCode == 9) {
               return false;
            }
        });
    });

同问,想要ES6+AMD规范的写法

把preventDefault的时机提前到keydown

其实浏览器默认的tab是keydown事件,你在keyup上prevent是无效的,其他一些事件比如ctrl+s也是如此。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题