It's not recursion. 

The event click:select is bound to ConfirmController.prototype.onSelectClick 
this.confirmView.on('click:select', this.onSelectClick)

The methods onNewImage and onNewVideo set the this.onSelectClick on the instance.

The method on the ConfirmController prototype calls the method on the ConfirmController instance. They are two different functions there's no recursion