How to Make This JavaScript Snippet DRY (Don't Repeat Yourself)?
You can refactor this to follow DRY by using the Strategy Pattern.

function registerEvents(){  
    var delegationStrategies = [
        {var1: '.add-control .add-image',
         var2: 'tap',
         func: function (evt) {
             handleAddControlEvent(this);
         }
        },
        {var1: '.delete-image',
         var2: 'tap',
         func: function (evt) {
             evt.stopPropagation();
             handleDeleteControlEvent(this);
         }
        },
        // Add more strategies here.
    ];

    for (var i=0; i&lt; delegationStrategies.length; i++){
        strategy = delegationStrategies[i];
        $(document).delegate(strategy.var1, strategy.var2, strategy.func);
    }
}


You may need to add a special case for the timeout.

The question is whether you foresee the need to add further delegation handlers in the future.  If so, then it is a matter of adding another entry to the strategy.