2016-09-01 10 views
-1
<button class="btn btn-default dropdown-toggle" data-toggle="dropdown" type="button" aria-expanded="true"> 
     <span class="visible-sm-inline visible-md-inline visible-lg-inline">Sort by</span> 
     <span class="visible-xs-inline"><i class="fa fa-fw fa-sort"></i></span> 
     <span class="caret"></span> 
    </button> 
<ul class="dropdown-menu pull-right"> 
     <li><a href="#" class="newest_to_oldest" data-sort="newest_to_oldest"><i class="fa fa-fw"></i> Newest to Oldest</a></li> 
     <li><a href="#" class="oldest_to_newest" data-sort="oldest_to_newest"><i class="fa fa-fw"></i> Oldest to Newest</a></li> 
     <li><a href="#" class="most_posts" data-sort="most_posts"><i class="fa fa-fw"></i> Most posts</a></li> 
     <li><a href="#" class="zero" data-sort="zero"><i class="fa fa-fw"></i> Post senza risposta</a></li> 
    <li><a href="#" class="most_views" data-sort="most_views"><i class="fa fa-fw fa-check"></i> Most Views</a></li></ul> 

で「メニューのドロップダウンメニュー」HTMLでページをリロードする避けることができます。は、どのように私は、この要素をクリックしたときを検出する必要がjQueryの

<li><a href="#" class="most_views" data-sort="most_views"><i class="fa fa-fw fa-check"></i> Most Views</a></li></ul> 

問題がある(と思う)そのとき、Iページがリロードされた要素をクリックすると、要素をクリックすると操作ができなくなります。私は私が私の操作eを行うことができます要素をクリックすると後のページをリロードすることを必要とするが、それはpossible.My間違っjqueryのコードがある場合、私は知らない。

$('a[data-sort]').click(function() { 
    console.log("CLICK DAT SORT"); 
    if ($(this).is('[data-sort="most_views"]')) { 
    // do my operation 

    } 
}); 

誰もが私を助けることができますか?

答えて

0

はい、あなたはdefeultの動作を防ぐことができます(要素のために、リンクを開くことです)

$('a[data-sort]').click(function(e) { 
    e.preventDefault() 
    ... 

.click機能がハンドラにイベントを渡し、イベントを中止することができます:https://api.jquery.com/event.preventdefault/

+0

動作しません。 – Doppu

0

リンクをたどりたくない場合はfalseを返します。

ブラウザのデフォルトの動作が変更され、ページが再読み込みされません。

$('a[data-sort]').click(function() { 
    console.log("CLICK DAT SORT"); 
    if ($(this).is('[data-sort="most_views"]')) { 
     // do my operation 

     } 

     return false; 
}); 
関連する問題