• Jump To … +
    breakpoints.js date-parse.js jquery.breakpoints.js jquery.calcRestrainedPos.js jquery.clientRect.js jquery.contentSize.js jquery.cookies.js jquery.css.js jquery.customEvent.js jquery.delimitedString.js jquery.disableEvent.js jquery.hostIframe.js jquery.hoverDelay.js jquery.htmlEncode.js jquery.imageSize.js jquery.isVisibleKeyCode.js jquery.menu.js jquery-menu-exampleskin.js jquery.modalDialog.deviceFixes.js jquery.modalDialog.getSettings.js jquery.modalDialog.header.js jquery.modalDialog.history.js jquery.modalDialog.js jquery.modalDialog.unobtrusive.js jquery.modalDialog.userAgent.js jquery.modalDialogContent.header.js jquery.modalDialogContent.js jquery.msAjax.js jquery.ns.js jquery.partialLoad.js jquery.postMessage.js jquery.proxyAll.js jquery.queryString.js jquery.richTooltip.js jquery.scrollAnchor.js jquery.uncomment.js jquery.url.js pointy.gestures.js pointy.js
  • jquery.breakpoints.js

  • ¶

    /

    /* globals skinny */
    
    (function ($) {
    
        var EVENTS_KEY = "breakpoints-events";
    
        var setupEvents = function (el, breakpoints) {
            var $el = $(el);
  • ¶

    Ensure events aren’t set more than once for the same element

            if ($el.data(EVENTS_KEY)) {
                return;
            }
    
            $el.data(EVENTS_KEY, true);
    
            var update = function (e) {
  • ¶

    Only recalculate breakpoints if the event is fired on the element or its parent

                if (e && e.target && !$.isWindow(e.target)) {
                    if (e.target !== $el[0] && !$.contains(e.target, $el[0])) {
                        return;
                    }
                }
    
                skinny.breakpoints.update(el, breakpoints);
            };
    
            $(document).ready(update);
            $(window).on("resize orientationchange breakpoints:refresh", update);
        };
  • ¶

    Public API for initializing breakpoints for elements after the page loads

        $.fn.breakpoints = function (breakpoints) {
            this.each(function (i, el) {
                var bp = skinny.breakpoints.setup(el, breakpoints);
                setupEvents(el, bp);
            });
    
            return this;
        };
    
        $(document).ready(function () {
  • ¶

    Setup events for any elements that were initialized inline by skinny.breakpoints.setup()

            $.each(skinny.breakpoints.all, function (i, item) {
                setupEvents(item.el, item.breakpoints);
            });
  • ¶

    Process elements set up for breakpoints unobtrusively

            $("[data-breakpoints]").breakpoints();
        });
    
    })(jQuery);