0
在application.js中有这个...他们的工作,但只适用于第一首歌。jPlayer javascript事件触发器只适用于第一首歌
第一个是歌曲播放,第二个是5%(最终是75%,算作歌曲播放)。
$(document).ready(function(){
$("#jquery_jplayer_1").bind($.jPlayer.event.play, function(event) {
$("#jquery_jplayer_1").unbind($.jPlayer.event.play)
var band = event.jPlayer.status.media.band;
var song = event.jPlayer.status.media.song;
$.get("/playlists/song_display?song=" + song + "&band=" + band);
});
$("#jquery_jplayer_1").bind($.jPlayer.event.timeupdate, function(event) {
if (parseInt(event.jPlayer.status.currentPercentAbsolute) >= 5) {
$("#jquery_jplayer_1").unbind($.jPlayer.event.timeupdate)
var band = event.jPlayer.status.media.band;
var song = event.jPlayer.status.media.song;
$.get("/playlists/song_counter?song=" + song + "&band=" + band);
}
});
});
编辑:
感谢伊万,结束了这段代码:
$(document).ready(function(){
$("#jquery_jplayer_1").bind($.jPlayer.event.play, function(event) {
debugger
var band = event.jPlayer.status.media.band;
var song = event.jPlayer.status.media.song;
$.get("/playlists/song_display?song=" + song + "&band=" + band);
$("#jquery_jplayer_1").bind($.jPlayer.event.timeupdate, function(event) {
if (parseInt(event.jPlayer.status.currentPercentAbsolute) >= 5) {
debugger
$("#jquery_jplayer_1").unbind($.jPlayer.event.timeupdate)
var band = event.jPlayer.status.media.band;
var song = event.jPlayer.status.media.song;
$.get("/playlists/song_counter?song=" + song + "&band=" + band);
}
});
});
});
对不起,我是一个新手。我只想绑定一个元素 - 每次发生时都需要触发jplayer play和timeupdate事件,但它只会在第一首播放的歌曲中触发一次。不知何故,它不重置? – fdsaevad
这些事件只触发一次,因为您在事件触发后解除绑定。尝试删除'unbind'并查看会发生什么。 –
知道了!非常感谢的人,看到更新的问题。 – fdsaevad