私はアニメーションメニューを作成しているので、前後にタブをスライド/展開して見ています。私はクリックされたタブにアタッチしているアニメーションイベントをバインド解除する以外はすべて動作します。ほとんどの場合、タブをクリックすると、リスナーがアニメーションの終わりに接続され、次のタブをクリックすると、以前にクリックされたタブにリスナーをバインド解除します。しかし、何らかの理由で.off関数を起動することはできません。以下は私のコードです.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
});
オフイベントはなぜ発生していないのですか?
「this」とは何ですか? –
jQueryイベントのバインド解除についてです。 – Francisc