调用moveForm后隐藏回复按钮

时间:2011-03-22 作者:mrtsherman

当用户点击回复按钮获取特定评论时,我如何将回复按钮隐藏在所述评论下?我有权访问它调用的javascript onclick函数吗?

2 个回复
最合适的回答,由SO网友:mrtsherman 整理而成

最终使用jQuery解决了这个问题。不管怎样,表单都是使用javascript移动的,因此对于关闭js的用户来说,它不会破坏任何东西。

//when reply button is clicked hide it
$(".comment-reply-link").click( function() {
    $(this).hide();
});

    //when cancel button is clicked reshow reply button
$("#cancel-comment-reply-link").click( function() {
    $(".comment-reply-link").show();
});

SO网友:Jan Fabry

您可以通过重命名函数并使用相同的名称定义自己的函数来“包装”该函数,这将调用重命名后的函数。“cancel”处理程序是内部的,因此您无法访问它。

var oldAddComment = addComment;
addComment = {
    moveForm: function(commId, parentId, respondId, postId) {
        var retVal = oldAddComment.moveForm(commId, parentId, respondId, postId);
        // Your code to hide the link here
        return retVal;
    }
};
您还可以注销comment-reply Javascript,并注册您自己的版本。或者,您可以使用普通Javascript或jQuery将额外的处理程序连接到click事件,就像您所做的那样。

结束