Copying jQuery events from one element to another

I dug around for way too long today trying to figure out how to copy jQuery event handlers from one element to another.

I finally found the solution..

    function copyEvents(source, target) {
        var evs = $._data(source[0], 'events');  
        for (var ev in evs) {
            for (var i = 0; i < evs[ev].length; i++)
                $.fn[ev].apply(target, [evs[ev][i].handler]);
        }
    }

I’ve left a demo here -> http://jsfiddle.net/mtranter/gJXaR/4/