Vue監聽鍵盤鼠標事件

1 前言

1.1 業務場景

vue頁面監聽鍵盤鼠標等事件。html

官方給的例子是在input標籤中的,咱們想要的效果是不使用固定標籤。vue

2 實現原理

2.1 增長監聽

mounted () {
    window.addEventListener('keyup',this.handleKeyup)
    window.addEventListener('scroll',this.handleScroll)
},
複製代碼

這裏定義了,鍵盤按出的時候的事件 和 鼠標滑輪滾動的事件。git

這裏能夠自行查詢下有哪些事件,github

關鍵字:segmentfault

HTML DOM Eventbash

可參考:W3school 菜鳥教程dom

這裏根據addEventListener(event,function)的用法。post

event,必參,字符串,注意要把DOM事件的名稱去掉onui

2.2 方法調用

methods:{
    // 鍵盤事件
    handleKeyup(event){
        const e = event || window.event || arguments.callee.caller.arguments[0]
        if(!e) return
        const {key,keyCode} = e
        console.log(keyCode)
        console.log(key)
    },
    //  滑輪事件
    handleScroll(){
        var e = document.body.scrollTop||document.documentElement.scrollTop
        if(!e) return
        console.log(e)
    },
}
複製代碼

2.3 移除監控

destroyed () {
    window.removeEventListener('keyup',this.handleKeyup)
    window.removeEventListener('scroll',this.handleScroll)
},
複製代碼

3 後記

感謝支持。若不足之處,歡迎你們指出,共勉。this

若是以爲不錯,記得 點贊,謝謝你們 😂

歡迎關注 個人: 【Github】【掘金】【簡書】【CSDN】【OSCHINA】【SF】

知識共享許可協議
本文章採用知識共享署名-非商業性使用-相同方式共享 4.0 國際許可協議進行許可。

出處爲:github.com/xrkffgg/Too…

相關文章
相關標籤/搜索