【问题标题】:play sound effect clicking on a link tag点击链接标签播放音效
【发布时间】:2017-09-17 07:02:47
【问题描述】:

我想在每次点击页面时触发鼠标点击音效。

<audio id='aclick'>
  <source src="audio/click.mp3" type="audio/mpeg">
</audio>

$(document).on('click', function(){
    document.getElementById("aclick").play();
});

通常它可以工作,但它不适用于link 元素。

单击任何&lt;a&gt;&lt;/a&gt; 元素 - 没有声音。

我的链接示例:

&lt;a href='index.php'&gt;&lt;img id='logoc' src='img/02.jpg' alt='img'&gt;&lt;/a&gt;

【问题讨论】:

  • 请分享链接元素的html
  • @brk,我做到了 - 请看
  • 锚标签中没有音源
  • @brk,但是锚标签是$(document)的一部分,不是吗?

标签: javascript jquery audio click


【解决方案1】:

您需要将事件处理程序附加到任何具有如下点击事件的标签

$("*").on('click',function(){
  document.getElementById("aclick").play();
});

还有如下的音频标签

<audio id='aclick' autoPlay='false' preLoad='auto' >
  <source src="audio/click.mp3" type="audio/mpeg">
</audio

【讨论】:

  • 但我不需要仅通过单击链接来播放声音。我想通过点击页面上的任何元素来播放它。
  • 使用 * 选择器
  • 什么都没有。我认为问题在于重定向,它在单击链接后立即开始,并且声音没有时间播放。但这是一个很小的音频文件,大约 9KB,无论如何都应该播放。
  • OK 那么你需要使用 event.preventDefault() 来停止链接的默认动作,然后播放声音,然后使用window.location.href 重定向到实际链接
  • 通过预加载,它会在页面加载时播放,但仍然不会在链接标签点击时播放。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-20
  • 1970-01-01
  • 2012-11-17
  • 2021-12-14
  • 1970-01-01
  • 2012-06-16
相关资源
最近更新 更多