One solution I found to this when I came across the same scenario was to check if the event was triggered, and if so, prevent the default action. This way rather than triggering the handler (which isn't possible with delegation as mentioned above), you can trigger the full event and just condition the action based on the event properties. Take this for example:
//attach an event "click" by delegation
$(document).delegate("#childinput1", "click.test", function (e) {
// prevent default if this event was triggered
if (!!e.isTrigger) {
e.preventDefault();
}
alert('in delegated "click" event handler');
});
testTrigger();
function testTrigger() {
$("#childinput1").trigger("click.test");
}
Here's the modified JSFiddle: http://jsfiddle.net/x9d9yjtv/