2010-06-05 83 views
0

我目前正在開發一個ajax應用程序,我正在尋找一種功能,可以攔截所有使用javascript的靜態和動態鏈接。該鏈接看起來像這樣:攔截使用javascript的靜態和動態鏈接

<a href="link1/">link 1</a> 
<a href="link2/">link 2</a> 
etc. 

我則希望瀏覽器重定向到:current.page/#link1/而非current.page/link1/。我使用的是jQuery,因此live()函數是一個選項,但是使用它作爲解決方案對我來說似乎相當遲鈍(我是歇斯底里?)。如果有一種方法可以攔截頁面上的所有鏈接,也許可以通過檢測地址中的更改,這將大大有所幫助。我已經嘗試了一些jQuery插件(jQuery地址& SWF地址),但它們似乎只有事件處理程序才能響應地址中錨點標記的更改。有任何想法嗎?

感謝您的時間

回答

1

,除非你要不要擔心得多約性能。通常優雅的解決方案也是正確的。

我會使用jQuerys live函數,綁定到click事件並重寫鏈接,因爲它正在被點擊。

希望這有助於埃吉爾。

+0

感謝您的快速回復! – 2010-06-05 19:15:52

1

live函數的作用是將事件處理程序綁定到文檔,該文檔捕獲所有點擊事件,然後檢測與選擇器匹配的所有點擊(在您的情況下爲鏈接元素)。這是捕捉所有鏈接點擊的最有效方式。

+0

謝謝!也許你可以告訴我哪個選擇器是最快的,哪一個選擇文檔的單個div標識符的列表,或者是選擇所有div的給定類別的列表? – 2010-06-05 19:15:21

+0

soren.qvist:ID選擇器通常是最快的。 – 2010-06-05 19:55:19