jPlayer javascript 事件触发器仅适用于第一首歌曲
jPlayer javascript event triggers only works on first song
在 application.js 中有这个……它们有效,但仅适用于第一首歌。
第一个是歌曲播放,第二个是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);
}
});
});
编辑:
感谢 Ivan,最终得到了这段代码:
$(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);
}
});
});
});
看起来您正在使用元素 ID 选择元素
$("#jquery_jplayer_1").bind(...)
这将仅适用于匹配 id jquery_jplayer_1
的第一个元素。
如果您想将事件绑定到多个元素,您可以改用 class 选择器。
$(".jquery_jplayer").bind(...)
在 application.js 中有这个……它们有效,但仅适用于第一首歌。
第一个是歌曲播放,第二个是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);
}
});
});
编辑:
感谢 Ivan,最终得到了这段代码:
$(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);
}
});
});
});
看起来您正在使用元素 ID 选择元素
$("#jquery_jplayer_1").bind(...)
这将仅适用于匹配 id jquery_jplayer_1
的第一个元素。
如果您想将事件绑定到多个元素,您可以改用 class 选择器。
$(".jquery_jplayer").bind(...)