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 に答える