2015-10-14 75 views
1

當我點擊一個鏈接時,我的頁面向上滾動,我知道如果我在控制器內處理這個問題,我可以在那裏放置一個event.preventDefault(),但是我不希望這個在控制器上。有沒有辦法阻止在視圖中使用ng-click滾動?

在我看來有沒有辦法解決這個問題?

 <li ng-hide="showMore"> 
      <a href="#" ng-click="showMore=!showMore"> 
       <span class="fa fa-plus-circle"></span> <br> 
       Mais 
      </a> 
     </li> 
     <li ng-class="{'active':showMore}" ng-show="showMore"> 
      <a href="#" ng-click="showMore=!showMore"> 
       <span class="fa fa-minus-circle"></span> <br> 
       Menos 
      </a> 
     </li> 

回答

0

我會完全消除<a>標籤,並用跨度替換它。

<span class="link" data-ng-click="showMore = !showMore"> 
    <span class="fa fa-plus-circle"></span> <br> 
    Mais 
    </span> 
</span> 

CSS

span.link { 
    cursor:pointer; 
    color:blue; 
} 

span.link:hover { 
    text-decoration:underline; 
    cursor:pointer; 
} 
0

您可以隨時使用「#!」 像這樣:

 <li ng-hide="showMore"> 
     <a href="#!" ng-click="showMore=!showMore"> 
      <span class="fa fa-plus-circle"></span> <br> 
      Mais 
     </a> 
    </li> 
    <li ng-class="{'active':showMore}" ng-show="showMore"> 
     <a href="#!" ng-click="showMore=!showMore"> 
      <span class="fa fa-minus-circle"></span> <br> 
      Menos 
     </a> 
    </li> 
+0

我的主頁是localhost:3000 /#!/所以這對我不起作用 –

0

<a>標籤不具有href屬性。刪除它應該有所幫助。

此外,語義,這是不是一個鏈接,而是一個按鈕,這樣它會更正確,而不是使用<a><input type="button"><button>標籤。

相關問題