With jQuery .on() you can pass an optional parameter to set the event data. Can you do this with trigger as well?
.on()
This was the approach I took.
$('#foo').on('click', { init: false }, function(e, data) { data = data || e.data; console.log(data.init); // will be true in the trigger, and false in the click. }) .trigger('click', { init: true });