// hasEvent checks to see if a element contains a event. // @requires jQuery 1.3.2+ // @params el: string, jQuery object, node element. // @params eventName: string, name of the event. // @returns boolean var hasEvent = function( el, eventName ){ if( !$( el ).length || !$( el ).data( 'events' ) ){ return false; } return !!$( el ).data( 'events' )[ eventName ]; }; |
Demo: (requires firebug or google chrome)
var el = $( '<div/>' ).click( $.noop ); console.clear(); console.log( hasEvent( el, 'click' ) );// returns true; console.log( hasEvent( el, 'focusNow' ) );// returns false; el.bind( 'focusNow', $.noop ); console.log( hasEvent( el, 'focusNow' ) );// returns true; console.log( hasEvent( document.body, 'onload' ) );// returns false; $(document.body).bind( 'onload', $.noop ); console.log( hasEvent( document.body, 'onload' ) );// returns true; |
(Page view Count: 100)