jQuery正在取消超链接的默认事件操作

时间:2011-03-04 03:14:03

标签: jquery events hash click default

我已经使用jQuery为一个锚元素分配了一个.click()处理程序来创建一个动画效果。该链接更改了哈希值,然后由AJAX系统处理。问题是,当我分配.click()事件函数时,哈希不再自动更改。我可以使用document.location.hash =“hash”手动更改它,但Firefox似乎并不是它的粉丝。当我从历史记录中加载页面时,它的工作方式很奇怪。

有没有其他人遇到这样的问题?

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

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

2 个答案:

答案 0 :(得分:0)

而不是您的实际代码尝试这样的

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

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

答案 1 :(得分:0)

很抱歉再次回答我自己的问题。事实证明我只是在混淆自己。确实为祖先元素分配了click()事件而不是锚本身。当我改变事件以反映锚点时,我什么也没得到。然后我意识到锚实际上是1x1尺寸。重新CSS后,锚点现在是列表元素的适当大小,一切正常。

谢谢大家的帮助!