1

在我的页面上,我使用此代码和一些 CSS 设置了 3 个选项卡

<ul class="subnav" id="subnav">
    <li class="active"><a href="#subover">Overview</a></li>
    <li><a href="#subnews">News</a></li>
    <li><a href="#subgallery">Gallery</a></li>
    </ul>

在新闻选项卡中,我使用 .load 从页面 arc.php 和 id=news 填充它。

 <div class="subcont" id="subnews">
   <script>
jQuery(document).ready(function ($) {
$('#subnews').append($('<div>').load('arc.php #news'));
});
</script> 
   </div>

在 arc.php 页面上,我有带有文章链接的新闻描述。单击文章链接时。我希望它加载到 subnews div 中。我正在这样做。

<script>  

 jQuery(document).ready(function ($) {

$("#subnews").on("click", "a", function (e) { 
    $("#subnews").load($(this).attr("href"));
    e.preventDefault();
});
 });
</script>

现在我的问题...

加载新闻文章时,网址没有更改,因此我无法使用 back 回到新闻文章列表。

我确实有代码跟踪哈希标签,当我从概览、新闻和画廊更改时它可以工作。我可以使用 back 来返回选项卡。

有没有办法在点击文章时将哈希标签添加到 url 以便使用跟踪并能够点击返回?

4

1 回答 1

5

我建议:

$("#subnews").on("click", "a", function (e) {
    var href = $(this).attr('href');
    $("#subnews").load(href);
    window.location.hash = href;
    e.preventDefault();
});

但我看不出有任何理由$(this).attr('href')使用,而是亲自使用:

$("#subnews").on("click", "a", function (e) {
    var href = this.href;
    $("#subnews").load(href);
    window.location.hash = href;
    e.preventDefault();
});

参考:

于 2013-06-11T19:50:49.390 回答