我有一些jQuery代码,当点击具有特定ID的项目时运行。当ID是<li>
元素的一部分时,它正在工作,但当它在<a>
元素中时却不行。为什么会这样?我想使用一个,因为它允许我实现一些东西,如果用户已关闭JavaScript。
编辑:阻止默认或返回false似乎没有任何区别。
下面的HTML和代码:
<li><a id="OfficeNav-Bath" class="first" href="#bath">Bath</a></li>
编辑:如果<a>
元素中未指定HREF,则此方法有效。
$(function() {
$("#OfficeNav-Bath").click(function(){
$('.office').removeClass('visible');
});
});
知道为什么会这样吗?提前谢谢。
答案 0 :(得分:4)
我认为您在使用<a>
标签时并未阻止默认事件,因此请尝试:
$(function() {
$("#OfficeNav-Bath").click(function(e){
e.preventDefault();
$('.office').removeClass('visible');
});
});
答案 1 :(得分:1)
您必须为点击事件添加一个简单的事情:
e.preventDefault();
答案 2 :(得分:1)
单击锚元素时,浏览器会尝试导航到锚点href
属性指向的URL。
可以使用事件处理程序作为参数接收的preventDefault
对象上的方法event
覆盖此行为。
$("#OfficeNav-Bath").click(function(event){
event.preventDefault();
...
});