Javascript 使用“绑定”实现简单的ajax向上/向下投票功能

Javascript 使用“绑定”实现简单的ajax向上/向下投票功能,javascript,jquery,ajax,Javascript,Jquery,Ajax,我有一个简单的ajax向上/向下投票功能 我想重新绑定这个关于ajax成功的voteClickEvent,呼吁投反对票。我必须在success调用中把它放在一个单独的函数中吗?或者我可以做得更优雅些 var voteClickEvent = function() { var upOrDown = $(this).attr('id'); var that = $(this); $.ajax({ type: "POST"

我有一个简单的ajax向上/向下投票功能

我想重新绑定这个关于ajax成功的voteClickEvent,呼吁投反对票。我必须在success调用中把它放在一个单独的函数中吗?或者我可以做得更优雅些

    var voteClickEvent = function() {
        var upOrDown = $(this).attr('id');
        var that = $(this);
        $.ajax({
            type: "POST",
            url: "/wp-admin/admin-ajax.php",
            data: {upOrDown: upOrDown, action: "updateVote"},
            dataType: "json",
            success: function(data) {
                console.log(data.output);
                that.unbind("click");
                that.css("cursor", "default");
                if (data.output == "up") {
                    $("#down").bind("click", voteClickEvent);
                } else {
                    $("#up").bind("click", voteClickEvent);
                }
            }
        });
        return false;
    }

    $("#up, #down").bind("click", voteClickEvent);

@Dinesh没有错误,但是绑定没有成功。看起来它只是在添加另一个单击事件,是否只有在尚未绑定函数时才有绑定?您的代码实际上应该向另一个元素添加第二个单击处理程序。为什么需要绑定两次?@charlietfl是否有办法检查单击事件是否已绑定?所以我只能在这种情况下重新绑定?如果类存在,只在元素上切换一个类而不在click处理程序中执行任何操作会更简单。否则,将两者解开