我在页面上有很多元素,当用户点击"播放"或者"暂停"按钮我想暂停页面上的任何其他音频。
以下代码适用于每次前两次点击,之后不稳定,我无法找出原因:
$('audio').on 'click', ()->
$('audio').not($(this))[0].pause()
解决方案:
$('audio').on 'click', ()->
$playlist = $('audio').not(this)
for $track in $playlist
$track.pause()
答案 0 :(得分:2)
.not()
也可accept a DOM element,因此您不必严格将其包装在$()
audio
。您可以使用类似.each()
的内容来遍历选择器的所有结果。所以,如果没有看到更多代码,我可以推荐这一切:
$('audio').on 'click', () ->
$('audio').not(this).each () ->
this.pause()