 
                     if (not target.is(".#{ o.opts.holder.klass }") and not target.is("##{ wrapperId }")) and
                         (target.parents(".#{ o.opts.holder.klass }").length is 0 and target.parents("##{ wrapperId }").length is 0)
-                            o.dropdownWrapper.trigger("hide.#{ pluginName }") 
+                            # trigger the custom event named hide on the dropdownWrapper element
+                            o.dropdownWrapper.trigger "hide.#{ pluginName }"
 
             # bind resize event to the window
             o.browserWindow.on o.resizeKey, o.resize

                        # trigger the afterDecompress callback
                        o.opts.onAfterDecompress(_this) if $.isFunction(o.opts.onAfterDecompress)

            # delegate the normalized event for hoverIn to the holder element
            o.el.on "#{ o.hoverIn }.#{ pluginName }", ".#{ o.opts.holder.klass }", (e) ->
                o.opts.dropdownAnimation.onBeforeShow(_this) if $.isFunction(o.opts.dropdownAnimation.onBeforeShow)

                # add the hover class to the holder element
                ($ this).addClass o.opts.holder.hoverClass

                o.dropdownWrapper
                    .stop(true, true)
                    .fadeIn
                        duration: o.opts.dropdownAnimation.showDuration


                            o.opts.dropdownAnimation.onAfterShow(_this) if $.isFunction(o.opts.dropdownAnimation.onAfterShow)

            # bind custom event named hide to close or hide the dropdown
            o.dropdownWrapper.on "hide.#{ pluginName }", (e) ->
                current = $ this

