вот так правильно?
...
CreatePuzzle.prototype.chooseImage = function(){
var control = $(".puzzle-dialog");
var self=this;
control.on("change", function() {
self.readURL(this);
});
}
CreatePuzzle.prototype.readURL = function(input){
if (input.files && input.files[0]) {
var reader = new FileReader();
reader.onload = function (e) {
$('.puzzle').attr('src', e.target.result);
}
reader.readAsDataURL(input.files[0]);
}
}