【发布时间】:2011-07-08 12:51:51
【问题描述】:
我已经使用 jQuery 为锚元素分配了一个 .click() 处理程序,以创建动画效果。该链接更改哈希,然后由 AJAX 系统处理。问题是,当我分配 .click() 事件函数时,哈希不再自动更改。我可以使用 document.location.hash = "hash" 手动更改它,但 Firefox 似乎并不喜欢它。当我从我的历史记录中加载页面时,它可以工作,但表现得很奇怪。
有没有人遇到过这样的问题?
<a href="#test">Test</a>
$('a[href="#test"]').click(function(){
$(this).doSomething();
});
【问题讨论】:
-
doSomething()是否抛出错误?此外,您可以只使用单引号,而不是在选择器中转义双引号。 -
$(this).doSomething();你怎么会这样调用函数??
-
...另外,您缺少一个右括号和一个分号。这也是你真实代码中的错误吗?
-
如果
a有任何祖先绑定了click处理程序,请确保它们没有return false;或调用event.preventDefault()。另外,请发布重现问题的实际代码。 -
演示@patrick 所说的内容:jsfiddle.net/mattball/tCZPG/1
标签: jquery events hash click default