我有一个显示团队成员的页面(每个都是自定义帖子类型),当点击团队成员时,内容在名为#single-post-container的模态窗口内打开。我通过将onclick事件附加到每个具有“.post-link”类的链接来完成此操作。这工作正常,但在模态窗口内我也有链接允许成员之间的导航而不关闭窗口。我使用% git config core.ignoreCase true
% git checkout branch
Switched to branch 'branch'
% git ls-tree HEAD
100644 blob bcc9cdfd113753edf279e92afd622b0f3bb05fbc FOO
显示这些(对于下一篇文章相同),我通过使用functions.php中的过滤器确保输出的链接也具有类“.post-link”。问题是这些链接并不总是有效,有时页面内容不会加载到模态窗口中,我怀疑在我的apropach中有一些不正确的东西,即使它在大多数时间都有效。
以下是相关代码:
模态窗口div,最初隐藏:
<?php previous_post_link(); ?>
jQuery将附加“onclick”事件的链接:
<div id="single-post-container" class="hidden"></div>
我在jQuery之后排队的ajax.js脚本:
<h1><a class="post-link" rel="<?php the_ID(); ?>" href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h1>
然后在每个名为single-team.php的帖子的模板中,我也在最后调用相同的脚本,因为我知道内部生成的链接不是开头的DOM的一部分,所以事件监听器在页面加载到模态窗口之前无法附加(虽然我怀疑这是我的方法可能出错的地方):
jQuery(document).ready(function ($) {
$.ajaxSetup({cache:false});
$(".post-link").click(function(){
$("#single-post-container").show();
var post_link = $(this).attr("href");
$("#single-post-container").html("content loading");
$("#single-post-container").load(post_link);
return false;
});
$("#close").click(function(){
$("#single-post-container").hide();
});
});