Estou tentando entender o funcionamento do Jquery observando o código. Vi que tem uma chamada do AtualizaDados em dois lugares, um dentro da função de remover Item e outro na função após inicializado.
Entendo que ao clicar no botão para remover o item, o script vai executar a função aposInicializado, que vai identficar que foi clicado um objeto class="remover-item". Dai ele vai executar o método, correto? Dentro do método removeItem, vai fazer as ações necessárias e na ultima linha vai chamar o método atualizaDados. Mas depois o método aposInicializado, que chamou o removeItem, tem mais uma vez o método atualizaDados. Retirei a chamada do método removeItem, por que pensei que pela sequência que era chamado, não precisava duas vezes, mas não funcionou. Por que isto ocorre?
<script>
    var atualizaDados = function(){
        var items = $(".item-total");
            var total = 0;
            for(var i=0; i < items.length; i++) {
                    var conteudo = $(items[i]).text();
                    var preco = parseFloat(conteudo);
                    total += preco;
                }
            $("#valor-total").text(total);
            $("#quantidade-de-itens").text(items.length);
    };
    var removeItem = function(event) { 
        event.preventDefault();
        var self = $(this); 
        self.closest("tr").remove(); 
        atualizaDados();
    };
    var aposInicializado = function() {
            $(".remove-item").click(removeItem);
            atualizaDados();
        };
        $(aposInicializado);
</script> 
            