Ich habe eine Taste (n), die ich drücken möchte, um ein Tastaturereignis zu erstellen, das ein Sound wäre, den ich in meiner Datei verknüpft habe. Der Sound src ist korrekt, und von dem, was ich weiß, ist auch mein JavaScript. Gibt es einen Schritt, den ich nicht kenne, um Sound in einer HTML-Datei hinzuzufügen?Audio spielt nicht auf Keyboard Event mit JS?
Mein Code:
<!DOCTYPE html>
<html lang="en">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<!-- Bootstrap CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/css/bootstrap.min.css" integrity="sha384-rwoIResjU2yc3z8GV/NPeZWAv56rSmLldC3R/AZzGRnGxQQKnKkoFVhFQhNUwEyJ" crossorigin="anonymous">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body>
<div class="container">
<div class="row">
<div class="col-12">
<div data-key="83" class="key">
<kbd>s</kbd>
<span class="sound">clap</span>
</div>
</div>
</div>
</div>
<audio data-key="83" src="jap/big_taiko.wav"></audio>
<script>
window.addEventListener('keydown', function(e) {
const audio = document.querySelector('audio[data-key="${e.keyCode}"]');
if (!audio) return;
audio.play();
});
</script>
</body>
</html>
Danke dies der Trick. Darf ich fragen, warum das so ist? Ich wusste nichts von invertierten Ticks in JavaScript. – YoungCoder
@YoungCoder, einfache Anführungszeichen ''' oder doppelte Anführungszeichen '" 'bewerten Sie Ihre Variablen nicht und behandeln Sie sie als Teil der Zeichenfolge. Back-Ticks wurden jedoch eingeführt, um das Problem mit dem durch Komplex verursachten Chaos zu lösen String-Verkettung Vergleich: ''start' + a + 'Mitte' + b + 'endstring'' gegen' 'id $ {a} Mitte $ {b} endstring''. Sie können mehr [hier ] (https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Template_literals) – inker
Super, vielen Dank! – YoungCoder