0

我只是想知道 jQuery 函数“.trigger('play')”和“.play()”之间的区别。我希望我的网站在您按下导航按钮时播放声音。它应该是 HTML5 标签的声音。

当我使用这个 jQuery 代码时它可以工作:

$('nav ul li a').click(function(){
    $('#soundFX').trigger('play');
});

但不是这个:

$('nav ul li a').click(function(){
    $('#soundFX').play();
});

谢谢你的回答!

4

2 回答 2

3

Play 不是 jQuery 方法,它是 DOM 元素的函数。因此,您需要在 Dom 元素本身上调用它,如下所示:

       document.getElementById('soundFX').play();

当您在 jQuery 对象上调用 trigger 方法时,您正在触发该元素上的本机事件,在这种情况下,您正在触发 jQuery 选择器选择的元素的本机播放方法。希望有帮助。R。

于 2013-08-18T10:27:05.140 回答
1

我刚刚注意到这.trigger('play')会导致play处理程序被调用两次,但.play()只会导致一次。

演示

于 2015-11-12T08:21:21.420 回答