jQuery中.trigger('play')和.play()之间的区别

时间:2013-08-18 10:20:20

标签: jquery html5

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

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

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

但不是这样:

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

感谢您的回答!

2 个答案:

答案 0 :(得分:2)

Play不是jQuery方法,它是DOM元素的一个功能。因此,您需要在Dom Element本身上调用它,如:

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

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

答案 1 :(得分:0)

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

demo