我有一個按鈕,用滑鼠點擊它時可以執行某些操作。我希望在按下鍵盤的向上箭頭鍵時也能觸發相同的方法。
<button @click="doSomething()"> PRESS ME </button> doSomething(){ console.log('clicked') }
所以在這個範例中,我想在按下鍵盤的向上箭頭時 console.log('clicked') 。我怎樣才能做到這一點?
console.log('clicked')
希望對您有幫助。
doSomething(){ console.log('clicked') } var buttonBtn = document.getElementById("btn"); buttonBtn.addEventListener("keyup", function(event) { event.preventDefault(); this.doSomething(); });
<button id="btn" @click="doSomething()"> PRESS ME </button>
您可以使用 vueuse 中的 onkeyrinkle
vueuse
onkeyrinkle
<template> <div> <button @click="doSomething">btn</button> </div> </template> <script setup> import { onKeyStroke } from '@vueuse/core'; const doSomething = () => { console.log('do something'); } onKeyStroke(['ArrowUp'], (e) => { doSomething(); }); </script>
這裡是另一個示範一个>
#stackblitz.com 不支援,因此在此示範中,它是用setup() 寫的
#stackblitz.com
setup()
更新
沒有函式庫的純js:
<template> <div> <button @click="doSomething"> btn </button> </div> </template> <script setup> import { onMounted, onBeforeUnmount } from 'vue'; const doSomething = () => { console.log('doSomething'); }; const userClickArrowUp = ({ code }) => { if (code === 'ArrowUp') { doSomething(); } }; onMounted(() => { document.addEventListener('keyup', userClickArrowUp, true); }) onBeforeUnmount(() => { document.removeEventListener('keyup', userClickArrowUp, true); }) </script>
希望對您有幫助。
您可以使用
vueuse
中的onkeyrinkle
這裡是另一個示範一个>
#stackblitz.com
不支援,因此在此示範中,它是用
setup()
寫的更新
沒有函式庫的純js: