【发布时间】:2019-02-08 03:02:38
【问题描述】:
我有以下 jQuery/JS 在单击元素时触发一些东西:
$(tabs).click(function(e) {
tabs.removeClass('active');
$(this).addClass('active');
$(tabIDs).removeClass('js_tab_area_show');
$($(this).attr('href')).addClass('js_tab_area_show');
e.preventDefault();
alert('worked');
});
tabs 这里已经在函数之前初始化并选择了我想要定位的元素。上面所有的东西都已经开始工作了。但是,我现在想禁用锚元素(在这种情况下为 tabs)滚动到 ID 包含在我的锚的 href 属性中的元素。我试着环顾四周,许多人建议preventDefault() 防止滚动。但是,它对我不起作用。我主要看到的唯一区别是它们有一个命名函数,专门用于处理从点击函数中调用的点击事件。另一方面,我的做了上述。 alert('worked') 确实触发了,表明代码执行到最后。我在这里做错了什么?
【问题讨论】:
-
我没有看到您的示例中控制滚动的代码。
-
event.preventDefault不用于在此处停止该功能。如果你想在alert('worker')之前停火,应该是return false。 -
@Kai 我并不是想停止该函数的执行。我希望它防止
a滚动到div,它具有与a的href中包含的相同ID。在这里查看更多信息,这就是我发现的“建议”的意思:stackoverflow.com/questions/3659072/… -
@WealthyPlayer 所以请在最后尝试
return false:D。 -
@Kai 我把
return false;放在alert('worked')之后,它仍然滚动到div元素。
标签: javascript jquery preventdefault