2011-03-04 43 views
2

我已經爲jQuery分配一個.click()處理程序到一個定位元素來創建動畫效果。該鏈接更改散列,然後由AJAX系統處理。問題是,當我分配.click()事件函數時,散列不再自動改變。我可以用document.location.hash =「hash」手動修改它,但Firefox似乎並不是那種風扇。它工作,但從我的歷史中加載頁面時表現奇怪。jQuery取消超鏈接的默認事件操作

有沒有其他人遇到過這樣的問題?

<a href="#test">Test</a> 

$('a[href="#test"]').click(function(){ 
$(this).doSomething(); 
}); 
+0

是'doSomething()'拋出一個錯誤?此外,您可以使用單引號而不是在選擇器內轉義雙引號。 –

+0

$(this).doSomething();你怎麼來這樣調用函數? – kobe

+0

...還有,你錯過了一個關閉paren和一個分號。你的真實代碼也是一個錯誤? –

回答

0

不好意思再回答我的問題。事實證明,我只是在迷惑自己。確實,祖先元素被分配了click()事件而不是錨本身。當我改變事件來反映錨點時,我什麼都沒有。然後我意識到錨點實際上是1x1尺寸。重新CSS後,錨現在是適當的大小的列表元素,一切正常。

謝謝大家的幫助!

0

,而不是你的實際代碼嘗試這樣的事情

<a href="#test" class="sample">Test</a> 

$(".sample").click(function() 
{ 
    alert("href clicked"); // do your animation here 
    return false; 
}