0

我正在尝试在外部页面上加载锚标记。我正在使用这种方法:

<a href="page.html#div>

链接到另一个页面的特定 div。

<div name="div">
stuff
</>

到目前为止的问题是该链接仅将我链接到外部页面而不是该页面上的特定 div。我刚刚发现问题在于我包含 jquery。当我按下链接时,正确的 div 会出现一瞬间,然后页面很快变回页面顶部。

有没有办法通过这样的方法在外部页面上禁用 jQuery 的自动滚动:

 $(document).ready(function(e) {
 e.preventDefault();  
 });

我尝试在我的链接中包含这个:

onclick="return false;

但这意味着它们不起作用。

4

1 回答 1

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就不会执行任何操作。

于 2013-02-24T14:59:24.057 回答