2015-10-13 50 views
1

我有一個問題給你們。如何檢測頁面上多次點擊的同一個錨鏈接?

可以說我有在同一頁上爲http://jquery.com/#myAnchor

現在的內部錨鏈接,如果我點擊錨,然後將URL http://jquery.com/#myAnchor

如果我點擊錨再一次,該網址將再次是http://jquery.com/#myAnchor

又名,該網址實際上並沒有改變..只是在頁面上點擊兩次鏈接。我如何檢測內部錨已被再次點擊? 例如

<a name="myAnchor"></a> 

如果上面的錨鏈接是在同一頁上,然後我怎麼發現這個hashChange。

其實我有函數檢測頁面上的hashChange,如下所示。但代碼不能用於這一個特定的編碼

$(window).on('load hashchange', function() { 
+1

寫點擊錨點的處理程序 –

+0

沒有辦法知道p頁面的藝術可能有主角 –

+0

那麼你將不得不找到一種方法來添加一個點擊處理程序 – FranBran

回答

1

使用data-屬性。當用戶點擊錨點鏈接時,只需增加數據屬性即可。

$(document).ready(function(){ 
    $('a.myLink') .click(function(e) { 
     e.prevenDefault(); 
     var count = $(this).attr('data-clicked'); 
     count = parseInt(count) + 1; 
     $(this).attr('data-clicked', count); 
    }); 
}); 

<a class="myLink" data-clicked="0">Anchor Tag</a> 
+0

順便說一句,如果這有助於你解決問題,請接受答案。 –

+1

在你的答案中檢查'dta-clicked' –

0

您可以使用事件委託來跟蹤點擊,像

$(document).on('click', '[href="#myAnchor"]', function(){ 
//do whatever you want here 
}); 

而且命名錨已經過時,你應該用id!而非。

<section id="myAnchor"> 
</section> 
0

您可以檢查這樣也

$(document).on('click', 'a', function() { 
 
    var link = $(this).attr('href'), 
 
    currentLink = window.location.href; 
 
    if (link == currentLink) 
 
    return false; 
 
    else 
 
    //your conditions 
 

 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script> 
 
<a name="myAnchor" href="http://jquery.com/#myAnchor">Test</a>

相關問題