| 2032 | |
| 2033 | |
| 2034 | function handleQueueMarkDefer( elem, type, src ) { |
| 2035 | var deferDataKey = type + "defer", |
| 2036 | queueDataKey = type + "queue", |
| 2037 | markDataKey = type + "mark", |
| 2038 | defer = jQuery._data( elem, deferDataKey ); |
| 2039 | if ( defer && |
| 2040 | ( src === "queue" || !jQuery._data(elem, queueDataKey) ) && |
| 2041 | ( src === "mark" || !jQuery._data(elem, markDataKey) ) ) { |
| 2042 | // Give room for hard-coded callbacks to fire first |
| 2043 | // and eventually mark/queue something else on the element |
| 2044 | setTimeout( function() { |
| 2045 | if ( !jQuery._data( elem, queueDataKey ) && |
| 2046 | !jQuery._data( elem, markDataKey ) ) { |
| 2047 | jQuery.removeData( elem, deferDataKey, true ); |
| 2048 | defer.fire(); |
| 2049 | } |
| 2050 | }, 0 ); |
| 2051 | } |
| 2052 | } |
| 2053 | |
| 2054 | jQuery.extend({ |
| 2055 | |