如何将对象self
传递给'点击'事件?目前它传递的jQuery.Event
对象包含data
属性和我的对象,但我希望对象为jPlayer
,而不是jQuery.Event
我想要这个的原因是当在事件上调用函数时代码不起作用,因为我必须通过jPlayer.data.jPlayer访问数据,如果我这样做,那么{{1赢了工作。
changeShuffleIcon(self);
...
ready: function() {
var self = this;
changeShuffleIcon(self);
$(".jp-shuffle").on("click", { jPlayer: self }, changeShuffleIcon);
}
(为简洁起见,删掉一些代码。)
答案 0 :(得分:1)
你可以这样做:
function changeShuffleIcon(jPlayer, isNotEvent)
{
if(!isNotEvent)
{
jPlayer = jPlayer.data.jPlayer;
}
if ($(jPlayer).hasClass("jp-state-shuffled")) {
$(".jp-shuffle").children().addClass("clicked-button");
} else {
$(".jp-shuffle").children().removeClass("clicked-button");
}
}
ready: function() {
var self = this;
changeShuffleIcon(self, true);
$(".jp-shuffle").on("click", { jPlayer: self }, changeShuffleIcon);
}