2016-10-09 4 views
-1

に、しかしjQueryのは、複数の適用:ありません、私はクリックにクリックイベントをバインドしようとしていますリンク

  1. いけないのhref
  2. がクラスを持っていない持っているものを除外.ignore-a
  3. ないでください"off"
  4. そして#
に等しいhrefの値に等しいデータ属性 "data-ajax"を持っています

何らかの理由で、動作せず、イベントをバインドします。私のセレクターで何が間違っていたのですか?

$(document.body).on('click', 'a[href]:not(.ignore-a):not([data-ajax="off"]):not([href="#"])', function(ev) { 

     ev.preventDefault(); 

     var url = $(this).attr('href').replace(BASE_URL, ''); 
     ajaxLoader.fetchPage(url); 

     return false; 
    }); 
+0

あなたのコードは、あなたの除外リストに矛盾しています。実際にイベントを発生させたいものを明確にする必要があります。また、テストしているコードを提供してください。 – Jecoms

答えて

0

@Jecomsによって既に指摘されているように、セレクタは除外リストと矛盾しています。
後者から私はむしろ、単に記述します:

'a.ignore-a[href][data-ajax="off"]:not([href="#"])' 
+0

しかし、私はそれらにバインドしたくないものにイベントをバインドしませんか? – Ben

+0

@BenShepherdあなたの質問に基づいて、それがよく理解されていれば、いいえ。このセレクタは、次の要素のみをバインドします。1) 'href ="# "';を除いて、 ''タグが 'href'属性を持つ要素のみをバインドします。 2) 'ignore-a'クラスを持つ。 3) 'data-ajax =" off "を指定します。 – cFreed

関連する問題