わかりましたので、タブを前後にスライド/展開し、滑らかに見えるアニメーションメニューを作成しています。クリックしたタブにアタッチしている animationend イベントのバインドを解除する以外は、すべて機能しています。ほとんどの場合、タブをクリックすると、アニメーションの最後にリスナーがアタッチされ、次のタブをクリックすると、リスナーを以前にクリックしたタブにバインド解除したいと考えています。しかし、何らかの理由で .off 関数を起動できません。ここに私のコードがあります
var $featuredTab = this.$('.featured'),
$tabContainer = $(e.target).parent(),
$menu = this.$el,
index = $tabContainer.index(),
count = $tabContainer.parent().children().length;
if($featuredTab.length > 0) {
$menu.off('animationend webkitAnimationEnd MSAnimationEnd oAnimationEnd', $featuredTab, function() {
console.log('off');
//do stuff
});
}
$tabContainer.addClass('featured');
$menu.on('animationend webkitAnimationEnd MSAnimationEnd oAnimationEnd', $tabContainer, function(e) {
console.log(e.originalEvent);
//do stuff
});
オフイベントが発生しない理由について何か考えはありますか?