2016-05-30 6 views
0

divをクリックする特定のアクションを実行する単純なjquery関数を記述しました。 クリックすると、この関数は最初のような別のdivをロードします。この2番目のdivをクリックすると、3番目のdivをロードします。 すべてが正しく動作しますが、 divをクリックすると、すでにクリックされているdivをクリックすると、その機能が再び発生します。removeClassでのjqueryビヘイビアのアンバインド

他のdivの読み込みを停止するように、既にクリックされたdivの動作を削除するにはどうすればよいですか?イベントが接続されると、あなたはCSSクラスを削除する場合、それは問題ではありませんので、あらかじめ

感謝:)

+1

コードを共有してください –

+0

コード... –

+0

'$ .fn.off'はあなたの友人です。 http://api.jquery.com/off/しかし、あなたのコードなしでもっと言うことは難しいです。 –

答えて

1

イベントは、セレクタを持つ要素ではないに添付されています。

.on()操作セレクタ(クラスの削除や追加など)を使用する場合は、を使用する必要があります。

一般的な構文

$(staticParentElement).on('event','selector',callback_function) 
+0

で処理され(フィルターにかけられ)、実際の例としては '$(document).on( 'click'、 'div.active'、function(){...}) ; ' –

0

マークは、クリックされたか、私だけがクリックされた要素に関数の動作を削除するには$(この)にアンバインド機能を使用する能動素子に

$(document).on('click', '.selector:not(.clicked)', function(){ 
    //add element 
    $(this).addClass('clicked'); // do not trigger event again 
}); 

$(document).on('click', '.selector.active', function(){ 
    //add element with active class 
    $(this).removeClass('active'); // do not trigger event again 
}); 
0

をイベントをバインド:)

みんなありがとう!

関連する問題