我是JS框架的新手,我可能会把函数语法弄错。这是我的想法,点击按钮后,它会播放一个快速的音频文件,这个文件在音频标签中的按钮下面指定。有什么想法我可以让这个工作吗?
import Head from 'next/head'
export default function Home() {
function play() {
var audio = document.getElementById('a1');
audio.play();
}
return (
<div className='home'>
<Head>
<title>Create Next App</title>
<link rel='icon' href='/favicon.ico' />
</Head>
<div className='container'>
<div className='col'>
<button onClick={play()}>Click</button>
<audio id='a1' src='/static/src.mp3'></audio>
</div>
3条答案
按热度按时间carvr3hs1#
你不应该用括号调用函数,而应该传递引用。
cuxqih212#
可能src有问题,您可以在src https://www.soundhelix.com/examples/mp3/SoundHelix-Song-6.mp3上测试此问题
或者可以使用
useRef
而不是document.getElementById
来定位元素3npbholx3#
您可能希望尝试使用
useRef
来保持对<audio />
标记的引用: