如何在不将用户发送到页面顶部的情况下触发javascript playound事件?

JD2*_*011 5 javascript onclick

我在我的网站页面上有以下代码 - 当用户点击图像时播放声音:

<script language="javascript" type="text/javascript">
 function playSound(soundfile) {
 document.getElementById("dummy").innerHTML=
 "<embed src=\""+soundfile+"\" hidden=\"true\" autostart=\"true\" loop=\"false\" />";
 }
 </script>
 <span id="dummy"></span>
 <div id="soundimage">
 <a href="#" onclick="playSound('sound.mp3');"><img src="image.png" /></a>
 </div>
Run Code Online (Sandbox Code Playgroud)

一切都很好,但图像位于页面底部,当用户点击图像时,它们会重定向回页面顶部.有没有办法使这个工作,以便只有一个音频变化,而不是一个视觉变化(如果这是有道理的!)?

使用鼠标悬停功能时,例如

<a onmouseover="playSound('sound.mp3');"><img src="image.png" /></a>
Run Code Online (Sandbox Code Playgroud)

用户仍然保持在页面上的位置,但我希望他们可以选择在点击时播放声音而不是翻转.

Gre*_*xis 6

问题是你的href属性.#as作为锚将其发送到页面顶部.使用

<a href="javascript: void(0);" onclick="playSound('sound.mp3');">...</a>
Run Code Online (Sandbox Code Playgroud)

此外,始终在链接中包含href属性.