0
application.js에 있습니다. 작동하지만 첫 번째 노래에서만 작동합니다.jPlayer 자바 스크립트 이벤트 트리거는 첫 번째 노래에서만 작동합니다.
첫 번째 곡은 노래가 재생되고 두 번째 곡은 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);
}
});
});
편집 : 이반에
덕분에이 코드를 결국 : 당신이 요소 ID를 사용하여 요소를 선택하는 것처럼
$(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를 재생하고 이벤트가 발생할 때마다 시간을 업데이트해야하지만 재생되는 첫 번째 노래에서 한 번만 트리거됩니다. 어떻게 든 재설정되지 않습니까? – fdsaevad
이벤트는 이벤트가 트리거 된 후에 바인딩 해제하기 때문에 한 번만 트리거됩니다. 'unbind'를 제거하고 어떤 일이 일어나는지보십시오. –
알았습니다! 대단히 고맙습니다. 문제의 업데이트를 참조하십시오. – fdsaevad