状況 : アイテムにイベント リスナーがあります。それを押すと、webkitAnimation を実行するメソッドが呼び出され、結果としてアニメーションの最後が返されます。
問題 : アイテムを数回クリックすると、Webkit アニメーションのリスナーがリセットされないため、多くのコールバックが発生します..
removeEventListener を使用しようとしましたが、機能しません。
前もって感謝します!
var Test = (function () {
function Test(listItem) {
this.listItem = listItem;
listItem.addEventListener('click', function(event) {
this.startAnim(function() {
});
}
}
Test.prototype.startAnim = function(callback) {
this.listItem.style.webkitAnimationName = 'simpleAnim';
this.listItem.style.webkitAnimationDuration = '220ms';
this.listItem.addEventListener('webkitAnimationEnd', function() {
this.style.webkitAnimationName = '';
// This calls my callback too many times..
callback();
// the following doesn't work!
this.removeEventListener('webkitAnimationEnd', function() {
// this doesn't work....
}, false);
}, false);
};
return Test;
}