/** * @preserve * Project: Bootstrap Hover Dropdown * Author: Cameron Spear * Version: v2.0.11 * Contributors: Mattia Larentis * Dependencies: Bootstrap's Dropdown plugin, jQuery * Description: A simple plugin to enable Bootstrap dropdowns to active on hover and provide a nice user experience. * License: MIT * Homepage: http://cameronspear.com/blog/bootstrap-dropdown-on-hover-plugin/ */ ! function($, n, e) { var o = $(); $.fn.dropdownHover = function(e) { return "ontouchstart" in document ? this : (o = o.add(this.parent()), this.each(function() { function t(e) { o.find(":focus").blur(), h.instantlyCloseOthers === !0 && o.removeClass("open"), n.clearTimeout(c), i.addClass("open"), r.trigger(a) } var r = $(this), i = r.parent(), d = { delay: 500, instantlyCloseOthers: !0 }, s = { delay: $(this).data("delay"), instantlyCloseOthers: $(this).data("close-others") }, a = "show.bs.dropdown", u = "hide.bs.dropdown", h = $.extend(!0, {}, d, e, s), c; i.hover(function(n) { return i.hasClass("open") || r.is(n.target) ? void t(n) : !0 }, function() { c = n.setTimeout(function() { i.removeClass("open"), r.trigger(u) }, h.delay) }), r.hover(function(n) { return i.hasClass("open") || i.is(n.target) ? void t(n) : !0 }), i.find(".dropdown-submenu").each(function() { var e = $(this), o; e.hover(function() { n.clearTimeout(o), e.children(".dropdown-menu").show(), e.siblings().children(".dropdown-menu").hide() }, function() { var t = e.children(".dropdown-menu"); o = n.setTimeout(function() { t.hide() }, h.delay) }) }) })) }, $(document).ready(function() { $('[data-hover="dropdown"]').dropdownHover() }) }(jQuery, this);