2017-05-20 1 views
-3

メニューが開いている(クラスで)かどうか、そのクラスでその要素のousideがクリックされたかどうかを確認するjqueryメソッドがあります。クラスは機能していませんか?

これまでのところ、カートを開くとすぐにカートが取り除かれます。なぜなら、すぐにクラスを削除する(開く)からクラスを削除するからです。

私は自分のコードにしたことではないので、何が起こっているのか分かりません。

アイデア?

$(document).on('click', function (e) { 
    if (jQuery('body').hasClass("cbp-spmenu-push-toleft") == true 
     && jQuery(e.target).hasClass('cbp-spmenu-open') == false) 
    { 
     console.log('clock') 
     jQuery('body').removeClass('cbp-spmenu-push-toleft') 
     jQuery('#cbp-spmenu-s2').removeClass('cbp-spmenu-open') 
    } 
} 
+0

を置くべき

になると思うものではありませんが起こった任意の要素を指し、 ? –

+0

もっとコードを提供できますか? e.aのようにHTMLとその他のJavascriptの部分です。 – stevenvanc

+0

クリックバインディングコードを正しく書いていますか?http://api.jquery.com/on/?ボディクラスの条件がある場合は、アラート/ログb4を入力してチェックすることができます。 – Anil

答えて

0

e.targetこれは、クリックは、あなたがそれはあなたがその質問で述べたようにあなたは、クラスを追加している

//$(document) 
$("#cbp-spmenu-s2").on('click', function() { 
    if ($('body').hasClass("cbp-spmenu-push-toleft")&&!$(this).hasClass('cbp-spmenu-open')) { 
    console.log('clock') 
    $('body').removeClass('cbp-spmenu-push-toleft'); 
    $('#cbp-spmenu-s2').removeClass('cbp-spmenu-open'); 
    } 
}); 
関連する問題