2012-03-12 7 views
0

を意図したとおりに機能I次のコードを持っていない:jQueryのは、addEventListenerは

$('.uiModalWrapper').live('click', function() { 

          var modal = $(this).find('.uiModal'); 

          modal.addClass('shake'); 

          modal.addEventListener('webkitAnimationEnd', function() { 

           modal.removeClass('shake'); 

          }); 


         }); 

webkitAnimationEndイベントが発生したとき、それがクリックされていますとき、要素に振ると呼ばれるクラスを追加し、再度それを削除する必要があります。しかし、それはエラーを引き起こすUncaught TypeError: Object [object Object] has no method 'addEventListener'

これを修正する方法に関するアイデア?ありがとう

+0

jQueryの詳細については、http://api.jquery.com/category/events/ –

答えて

1

modalはDOM要素ではなくjQueryオブジェクトです。それはaddEventListerを持っていない、それはリスナー(on?)を追加するためのjQueryのものがあります。

0

は、あなただけのvar modal = $('.uiModal');でモーダル要素を得ることができ、その後、あなたはDOM要素

+2

を参照してください。クリックした ".uiModalWrapper"要素内の_all_ ".uiModal"要素だけでなく、それでもjQueryオブジェクトであれば、(最初の)DOM要素を扱うには 'modal [0]'と言う必要があります。 – nnnnnn

関連する問題