0

我将在我的 Django 项目中使用 django-threadedcomments 库。
https://github.com/HonzaKral/django-threadedcomments

本教程提供了示例代码,包括用于以线程评论样式回复评论的 Javascript。
我试图测试这个示例,库本身可以工作,但是回复评论的 Javascript 不起作用。
jQuery 加载或 Django 静态文件加载没有任何问题。

这是教程。http://goo.gl/vyFw9

我想知道:
1)脚本有什么问题吗?
2)如果没有,关于为什么这不起作用的任何想法?

function show_reply_form(comment_id, url, person_name) {
var comment_reply = $('#' + comment_id);
var to_add = $( new Array(
'<div class="response"><p>Reply to ' + person_name + ':</p>',
'<form method="POST" action="' + url + '">',
'<ul>',  '{{ form.as_ul|oneline }}',
'<li><input type="submit" value="Submit Comment" /></li>',
'</ul>', '</form>', '</div>').join(''));
to_add.css("display", "none");
comment_reply.after(to_add);
to_add.slideDown(function() {
    comment_reply.replaceWith(new Array('<a id="',
    comment_id,'" href="javascript:hide_reply_form(\'',
    comment_id, '\',\'', url, '\',\'', person_name,
    '\')">Stop Replying</a>').join(''));
});
}
function hide_reply_form(comment_id, url, person_name) {
var comment_reply = $('#' + comment_id);
comment_reply.next().slideUp(function (){
    comment_reply.next('.response').remove();
    comment_reply.replaceWith(new Array('<a id="',
    comment_id,'" href="javascript:show_reply_form(\'',
    comment_id, '\',\'', url, '\',\'', person_name,
    '\')">Reply</a>').join(''));
});
}

<a id="c{{ comment.id }}" href="javascript:show_reply_form('c{{ comment.id }}','{% get_free_comment_url post comment %}','{{ comment.name }}')">Reply</a>
4

1 回答 1

0

我看到的第一件事是您根本没有附加to_add到文档中,即类似$('#someExistingDiv').append(to_add);

创建 后to_add,必须将其添加到 DOM。我认为没有任何 JS 错误。我很确定您只是没有看到创建的新评论元素。

于 2012-01-10T08:16:37.273 回答