2011-06-23 18 views
0

"ajax for all" WordPressプラグインを使用して非同期でコンテンツをロードしていますが、ページをリロードした後にライトボックスプラグインを使用することはできません。 a hrefは、特定のクラスを持っている場合、私はどのように「」特定のクラスでの画像であれば、それはfalseを返すように、この機能を変更する必要がありhrefに特定のクラスがある場合、関数内でjqueryがtrueを返さないようにするにはどうすればよいですか?

$('a').live('click', 
     function() { 
      if ($(this).attr('target')) { 
       return true; 
      } 
      var href = $(this).attr('href'); 
      $.bbq.pushState({ url: href }); 
      if (href.indexOf('#') == 0) { 
       return true; 
      } 
      dispatcher.fire(href); 
      return false; 
     } 
    ); 

関数をオーバーライドしたいと思いますか?

答えて

2

hasClassメソッドを使用して、要素に特定のクラスがあるかどうかを確認できます。

はこれを試してみてください:

$('a').live('click',  function() { 
       //Check if the element has a class and if yes, return false. 
     if($(this).hasClass("<YOUR_CLASS_NAME>")){ 
      return false; 
     } 
     else if ($(this).attr('target')) { 
      return true; 
     } 
     var href = $(this).attr('href'); 
     $.bbq.pushState({ url: href }); 
     if (href.indexOf('#') == 0) { 
      return true; 
     } 
     dispatcher.fire(href); 
     return false; 
}); 
+0

トリックをしたうわーTNX! –

1
$('a').live('click', function(e) { 
    e.preventDefault(); 
    if ($(this).attr('target')) { return true; } var href = $(this).attr('href'); $.bbq.pushState({ url: href }); if (href.indexOf('#') == 0) { return true; } dispatcher.fire(href); return false; }); 

このようにすると、デフォルトのリンク動作が妨げられます。それでものみ指定されたクラスリンクのためにこれを行う必要がある場合のステートメント

if ($(this).hasClass('myclass') { 
    e.preventDefault(); 
} 

場合、単に追加するには、代わりe.preventDefault()return false;を使用することができます。

関連する問題