Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 停止锚元素重新加载和/或滚动到顶部_Javascript_Jquery_Css - Fatal编程技术网

Javascript 停止锚元素重新加载和/或滚动到顶部

Javascript 停止锚元素重新加载和/或滚动到顶部,javascript,jquery,css,Javascript,Jquery,Css,当有人单击#collapseOne锚定时,页面会重新加载,并滚动到顶部。我需要禁用它。但是,我不能将href更改为其他任何内容,因为它用于站点的功能。有什么方法可以防止网站滚动到顶部,或者根本不允许它重新加载 <div class="accordion" id="accordion2"> <div class="accordion-group"> <div class="accordion-heading"> <a class="acco

当有人单击#collapseOne锚定时,页面会重新加载,并滚动到顶部。我需要禁用它。但是,我不能将href更改为其他任何内容,因为它用于站点的功能。有什么方法可以防止网站滚动到顶部,或者根本不允许它重新加载

  <div class="accordion" id="accordion2">
  <div class="accordion-group">
  <div class="accordion-heading">
  <a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion2" href="#collapseOne">
    Collapsible Group Item #1
  </a>
 </div>
 <div id="collapseOne" class="accordion-body collapse in">
  <div class="accordion-inner">
    Anim pariatur cliche...
  </div>
   </div>
 </div>
 <div class="accordion-group">
  <div class="accordion-heading">
  <a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion2" href="#collapseTwo">
    Collapsible Group Item #2
  </a>
 </div>
 </div>
e
是事件对象,调用
preventDefault
方法将停止其正常行为(在本例中,重新加载页面并重置滚动位置)。您可能需要将其与现有的点击处理代码结合起来,以使其正常工作(您显然没有提供所有代码)

return false
的工作原理也类似于
e.preventDefault()
(实际上它只运行
e.preventDefault
,还运行
e.stopPropagation
,防止点击事件传播到DOM中的父元素)。

javascript:void(0)

我始终建议您不要使用
preventDefault
(跨浏览器问题)。
返回false
也不是那么可靠

我在过去也遇到过同样的问题。我求助于此,因为它在所有浏览器中都有效

$('#my_herf_id').on('click', function() {
       // code..
    $("#my_herf_id").attr('href','javascript:void(0)');
}

您的JS代码请:)。可能缺少一个
e.preventDefault()在单击事件中。点击事件代码就可以了。刚刚添加了JS。这是推特引导。我本来可以复制更少的代码,但我不确定你需要看哪个部分。不管你使用什么,当你想禁用链接的自然行为时..总是使用
javascript:void(0)
。检查答案,好的luk,你的项目他特别声明
href
值不能更改。否则是的,这是一种比
preventDefault
return false
更可靠的防止默认锚行为的方法。这里没有任何变化…op得到了他想要的..它与prevent default对href的作用相同..100%成功我尝试过,但运气不好。我做对了吗$('collapseOne')。在('click',function(){//code..$(“#collapseOne”).attr('href','javascript:void(0);}@user2635166:将其提供给链接
的id,您没有为其分配id,无法找到正确的放置位置。我猜即使有正确的答案,我也没有足够的经验。无论如何,谢谢!
$('a.accordion-toggle').on('click', function(e) {
    // whatever other code this click event needs to run here...
    e.preventDefault();
}
$('#my_herf_id').on('click', function() {
       // code..
    $("#my_herf_id").attr('href','javascript:void(0)');
}