我正在开发一个ajax应用程序,我正在寻找一个让我可以使用javascript拦截所有静态和动态链接的功能。链接看起来像这样:
<a href="link1/">link 1</a>
<a href="link2/">link 2</a>
etc.
然后我希望浏览器重定向到:current.page/#link1/而不是current.page/link1/。我正在使用jQuery,所以live()函数是一个选项,但是使用它作为解决方案对我来说似乎相当缓慢(我是歇斯底里的吗?)。如果有办法拦截页面上的所有链接,可能通过检测地址的变化,这将有很大帮助。我已经为jQuery(jQuery address&amp; SWFaddress)尝试了一些插件,但它们似乎只有响应地址中锚标记更改的事件处理程序。有什么想法吗?
感谢您的时间
答案 0 :(得分:1)
除非必须,否则不要太担心性能。优雅的解决方案通常也是正确的解决方案。
我会使用jQuerys live函数,绑定到click事件并在点击时重写链接。
希望这有帮助,Egil。
答案 1 :(得分:1)
live
函数的作用是将事件处理程序绑定到文档,该文档捕获所有单击事件,然后检测与选择器匹配的所有单击,在您的情况下是链接元素。这是捕获所有链接点击的最有效方式。