I created a free plugin Ajax Cart AutoUpdate to update cart page and mini cart totals on product quantity change. It has nice additional options, but also script alone provides wider browser support and much better user experience.
Ajax calls aren't constantly sent due to introduced update delay, in provided example it's 1000 miliseconds, but actual plugin code uses value specified in settings. It works like this:
"Cart update is delayed by amount in miliseconds since last action affecting quantity, specified by user in settings, default 1000. It means that update will fire only once, when user is done with changes."
Also for page speed fanatics, remember that if you want to defer jQuery, you better load scripts using wp_enqueue_script, with jQuery dependency set, because inline script with jQuery will fail in such case.
var timeout;
jQuery('div.woocommerce').on('change keyup mouseup', 'input.qty', function(){ // keyup and mouseup for Firefox support
if (timeout != undefined) clearTimeout(timeout); //cancel previously scheduled event
if (jQuery(this).val() == '') return; //qty empty, instead of removing item from cart, do nothing
timeout = setTimeout(function() {
jQuery('[name="update_cart"]').trigger('click');
}, 1000 ); // schedule update cart event with 1000 miliseconds delay
});