2013-12-01 2 views
1

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

Кажется, мне удалось запустить 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 

ответ

2

У вас есть cl osed метод 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 
Смежные вопросы