前提
Typescriptで
キーコードを取得したいのですが
nullが返ってきます。
取得する方法を教えてください。
「keycode」は推奨されなくなったようなので「key」を使用しています。
実現したいこと
押下したキーボードのキーに紐づいた(例:aを押下すると65、sを押下で64を取得というふうに)キーコードを取得し、
変数autoにはそのキーコードに関連したHTMLタグが返ってくるというようにしたいです。
発生している問題・エラーメッセージ
ブラウザのコンソールで見ると キーボードのキーを押下後にnullが返ってきます。
該当のソースコード
HTML
1<div class="sound_frame"> 2 <div data-key="65" class="key"> 3 <kbd>A</kbd> 4 <span class="sound">ベース</span> 5 </div> 6 <div data-key="64" class="key"> 7 <kbd>S</kbd> 8 <span class="sound">ドラム</span> 9 </div> 10 <div data-key="63" class="key"> 11 <kbd>D</kbd> 12 <span class="sound">ギター1</span> 13 </div> 14 <div data-key="62" class="key"> 15 <kbd>F</kbd> 16 <span class="sound">ギター2</span> 17 </div> 18 <div data-key="61" class="key"> 19 <kbd>G</kbd> 20 <span class="sound">ピアノ1</span> 21 </div> 22 <div data-key="60" class="key"> 23 <kbd>H</kbd> 24 <span class="sound">ピアノ2</span> 25 </div> 26</div> 27 28<audio data-key="65" src="sounds/bass01.wav"></audio> 29<audio data-key="64" src="sounds/drum01.wav"></audio> 30<audio data-key="63" src="sounds/guitar01.wav"></audio> 31<audio data-key="62" src="sounds/guitar02.wav"></audio> 32<audio data-key="61" src="sounds/piano01.wav"></audio> 33<audio data-key="60" src="sounds/piano02.wav"></audio> 34
Typescript
1window.addEventListener('keydown', function(e) { 2 const audio = document.querySelector(`audio[data-key="${e.key}"]`); 3 console.log(audio); 4}) 5
試したこと
"${e.key}"を"65"にすると
data-key="65"に該当する
<audio data-key="65" src="sounds/bass01.wav"></audio>
が返ってきますのでここの表記が問題なのだろうなと思います。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。