我正在尝试在外部页面上加载锚标记。我正在使用这种方法:
<a href="page.html#div>
链接到另一个页面的特定div。
<div name="div">
stuff
</>
到目前为止,问题是该链接仅将我链接到外部页面而不是该页面上的特定div。我刚刚发现问题在于我包含了jquery。当我按下链接时,会出现正确的div一瞬间,然后页面会快速更改回页面顶部。
有没有办法通过这样的方法禁用jQuery在外部页面上的自动滚动:
$(document).ready(function(e) {
e.preventDefault();
});
我尝试将其包含在我的链接中:
onclick="return false;
但这意味着它们不起作用。
答案 0 :(得分:2)
锚点使用<a>
标记中的name属性,而不是<div>
。
链接:
<a href="page.html#here>
to link to another page's specific div.
</a>
目标目的地:
<a name="here">
stuff
</a>
如果你试图使用jQuery来破坏这种行为(例如通过目标页面中的javascript来阻止它),那么就会出现问题,因为浏览器首先加载页面然后在页面中运行javascript,所以除非默认您的目标页面的条件是隐藏的,内容可能会在jQuery修改它之前显示一种方式。除非您最初可以使用静态CSS样式规则(不使用javascript)隐藏目标页面,否则您无法对此进行任何操作,因为该页面可能会在您的javascript运行之前显示。
如果您可以在第一页中放置javascript,则可以从链接中删除#here
,这样当点击它们时,它们就没有额外的目标。
如果您可以修改第二页的HTML,则可以删除name
目标,以便#here
无法执行任何操作。