特定的键盘事件

时间:2018-07-26 01:00:38

标签: javascript html vue.js

我正在使用Vue,并且在div内有一个Quill编辑器(这就是为什么我使用不赞成使用的DOMSubtreeModified),并且我想触发一个事件以发送API请求以保存内容编辑器到数据库。

现在,以下是我所拥有的,但是删除字符时并没有注册退格键。当有人在编辑器中移动时,我也不想识别箭头键。

处理此问题的最佳方法是什么?

<div
  @DOMSubtreeModified="saveFunction($event)">
</div>

1 个答案:

答案 0 :(得分:1)

这可以使用简单的JavaScript完成:

var myElem = document.querySelector('#myElem');
myElem.addEventListener('keydown', (event) => {
    if (event.key === "Backspace") {
        //Do Something
    }
    else {
        //Do Something (Or Not)
    } 
});

甚至是jQuery:

$('#myElem').on('keydown', (event) => {
    if (event.key === "Backspace") {
        //Do Something
    }
});

myElem甚至不必是文本框,它可以是没有<div>属性的contenteditableevent.key是比event.keyCodeevent.which更高的标准。也就是说,根据Mozilla Docs。

希望有帮助...

编辑: 该链接仍在开发中,但它显示了如何注册箭头键甚至Shift: https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key#Example