enquire.js javascript не выполняется (enquire.js, Modernizr, jQuery)

Я пытаюсь добавить Modernizr и enquire.js на свой веб-сайт для более чистой мобильной реализации, которая загружает содержимое рабочего стола только тогда, когда действительно применяется запрос рабочего стола, а не просто скрывает его. Однако моя попытка уже заблокирована тем, что enquire.js, похоже, не работает вообще.

Кажется, мне удалось заставить Modernizr работать должным образом, так как мой unrealsp.js загружен (часть кода, связанная с выпадающим меню, работает нормально), но код в части enquire.js никогда не выполняется, независимо от того, что я делаю, Любая помощь будет весьма признательна.

Мой HTML код:

<head>
    <!-- [...] -->
    <!--[if lt IE 9]>
    <script src="includes/html5shiv.js"></script>
    <![endif]-->
    <script src="includes/js/modernizr.min.js"></script>
</head>

<!-- [...] -->

<script type="text/javascript">
Modernizr.load([
    {
        test: window.matchMedia,
        nope: "includes/js/media.match.min.js"
    },

    "//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js",
    "includes/js/enquire.min.js",
    "includes/js/unrealsp.js"
]);

Мой код "unrealsp.js":

$(document).ready(function(){
    $("ul.topmenu li a").click(function(event) {
        var element = $(this).parent().find("ul.submenu");
        //Following events are applied to the submenu itself (moving submenu up and down)
            $(this).parent().parent().find("ul.submenu").not(element).slideUp();
            element.slideToggle(); //Drop down the submenu on click }
    });

    enquire.register("screen and (min-width:62em)"), {
    match : function() {
        alert("Matched!");
    },
    unmatch : function() {
        alert("Unmatched!");
    } 
}
});

Вывод на консоль сообщения об ошибке в enquire.min.js (я использую самый новый):

Uncaught TypeError: Cannot read property 'deferSetup' of undefined enquire.min.js:7
s enquire.min.js:7
o.addHandler enquire.min.js:7
(anonymous function) enquire.min.js:7
i enquire.min.js:7
r.register enquire.min.js:7
(anonymous function) unrealsp.js:9
c jquery.js:7341
p.fireWith jquery.js:7403
b.extend.ready jquery.js:6875
H jquery.js:6601

1 ответ

Решение

Вы слишком быстро закрыли метод enquire.register().

Вот рабочий код:

enquire.register("screen and (min-width:62em)", { // <-- the bracket was here
  match : function() {
    alert("Matched!");
  },
  unmatch : function() {
    alert("Unmatched!");
  } 
}); // Note the closing round bracket here
Другие вопросы по тегам