为什么当我滚动页面顶部并单击附加表单的链接时,它会向下滚动

时间:2013-11-16 01:31:41

标签: javascript jquery

我有一个页面,显示每个Feed的评论链接的活动供稿,我动态添加评论表单:

$("#feedList").on("click", ".comment-link", function(e){
        $(this).parent().append('<form method="post" action="#" class="commentForm"><p><textarea class="comment"></textarea></p><p><input type="submit" value="add" class="send-Comment-Btn" /></p></form>');
        $("textarea.comment").select();
        return false;
    }); 

当我向下滚动页面并点击某个评论链接时,它会向我显示预期的表单,但如果我再次滚动到页面顶部并尝试单击评论链接,则会显示该表单但是它滚动我到底部页面到我之前点击的最后一个链接,有人可以告诉我为什么这个行为和解决方案?

1 个答案:

答案 0 :(得分:0)

$("textarea.comment").select();

将始终将您带到第一个创建带有“注释”类的textarea元素。也许您必须添加一些ID,使每次点击都增加,如:

var someID = 0;
$("#feedList").on("click", ".comment-link", function(e){
someID += 1;
        $(this).parent().append('<form method="post" action="#" class="commentForm"><p><textarea class="comment" id="selectorForComment' + someID + '"></textarea></p><p><input type="submit" value="add" class="send-Comment-Btn" /></p></form>');
        $("#selectorForComment" + someID).select();
        return false;
    });