| 851 | } |
| 852 | |
| 853 | function trigger( type, elem, args ) { |
| 854 | // Piggyback on a donor event to simulate a different one. |
| 855 | // Fake originalEvent to avoid donor's stopPropagation, but if the |
| 856 | // simulated event prevents default then we do the same on the donor. |
| 857 | // Don't pass args or remember liveFired; they apply to the donor event. |
| 858 | var event = jQuery.extend( {}, args[ 0 ] ); |
| 859 | event.type = type; |
| 860 | event.originalEvent = {}; |
| 861 | event.liveFired = undefined; |
| 862 | jQuery.event.handle.call( elem, event ); |
| 863 | if ( event.isDefaultPrevented() ) { |
| 864 | args[ 0 ].preventDefault(); |
| 865 | } |
| 866 | } |
| 867 | |
| 868 | // Create "bubbling" focus and blur events |
| 869 | if ( !jQuery.support.focusinBubbles ) { |