1

我编写了这段代码,以便在查看 #story-comments-text 时显示另一个 div (#comments-popup),该 div 调用其 html 代码的 $.get 请求。

这部分效果很好。

当我调用 $.post 请求时,我遇到了问题。

#comments-popup 由调用 $.post() 的提交按钮更新。该请求效果很好,但是在 div 更新之后,当我将鼠标移到它上面时,它会显示很多 #comments-popup 底部的第一个。问题出在哪里?我该如何解决?我仍然是ajax的菜鸟。对不起我的英语不好的家伙!

    $("#story-comments-text").mouseenter(function()
{
    var popupdiv="<div id='comments-popup'></div>";
    var href = jQuery(location).attr('href');
    var newHref=href+"&comment=1";
    if($("comments-popup").is(":visible"))
    {
        $("comments-popup").remove();
    }
    $.get
    (   newHref,
        function(data)
        {
            $("#story-comments-text").append(popupdiv);
            $("#comments-popup").css("display", "none");
            $("#comments-popup").html(data);
            $("#comments-popup").fadeIn();
            $("#story-comment-submit").click(function(e)
            {
                e.preventDefault();
                var href = jQuery(location).attr('href');
                var newHref=href+"&comment=1&addcomment=1";
                var comment=$("#story-comment-form #story-comment-form-text").val();
                $.post
                (
                    newHref,
                    {
                        "comment":comment
                    },
                    function(data)
                    {
                        if(data)
                        {
                            $("#comments-popup").remove();

                            $("#comments-popup").css("display", "none");
                            $("#comments-popup").html(data);
                            $("#comments-popup").fadeIn();
                        }

                    }
                );
            });
        }
    );
4

1 回答 1

0

改变

if($("comments-popup").is(":visible"))
{
    $("comments-popup").remove();
}

if($("#comments-popup").is(":visible"))
    {
        $("#comments-popup").remove();
    }

只是猜测,可能还有更多错误。

于 2012-04-20T13:08:48.597 回答