2013-07-01 3 views
0

Я работаю в некоторых Backbone Framework - Чаплина, где я использую следующий список файлов:JQuery не работает с Чаплиным

Ниже некоторые из блока кода в main.js:

paths: { 
     jquery: 'vendors/jquery/jquery', 
     underscore: 'vendors/underscore/underscore', 
     backbone: 'vendors/backbone/backbone', 
     chaplin: 'vendors/chaplin-0.9.0',   
     bootstrap: 'vendors/bootstrap/js/bootstrap.min',   
     jqTriggers: 'lib/jquery-triggers' 
    }, 

shim: { 
     underscore: { 
      exports: '_' 
     }, 
     backbone: { 
      deps: ['jquery','underscore'], 
      exports: 'Backbone' 
     }, 
     bootstrap: { 
      deps: ['jquery'] 
     },   
     jqTriggers: { 
      deps: ['jquery'] 
     } 
    } 

Ниже приведены содержание в Jquery-triggers.js

define(['jquery'], function($) { 

    $('.dropdown-toggle').dropdown(); 

}); 

Ниже приведен блок кода из файла шаблона, используя Bootstrap структуру:

<div class="navbar navbar-inverse nav"> 
     <div class="navbar-inner"> 
      <div class="container"> 
       <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse"> 
        <span class="icon-bar"></span> 
        <span class="icon-bar"></span> 
        <span class="icon-bar"></span> 
       </a> 
       <a class="brand" href="/">Project Name</a> 

       <div class="nav-collapse collapse"> 
        <ul class="nav"> 
         <li class="divider-vertical"></li> 
         <li><a href="#"><i class="icon-home icon-white"></i> Home</a></li>      
        </ul> 
        <div class="pull-right"> 
        <ul class="nav pull-right"> 
         <li class="dropdown"><a href="#" class="dropdown-toggle" data-toggle="dropdown">Welcome, User <b class="caret"></b></a> 
          <ul class="dropdown-menu"> 
           <li><a href="/user/preferences"><i class="icon-cog"></i> Preferences</a></li> 
           <li><a href="/help/support"><i class="icon-envelope"></i> Contact Support</a></li> 
           <li class="divider"></li> 
           <li><a href="/auth/logout"><i class="icon-off"></i> Logout</a></li> 
          </ul> 
         </li> 
        </ul> 
        </div> 
       </div> 
      </div> 
     </div> 
    </div> 

Проблема: раскрывающееся меню «выпадающего меню» не работает.

Я думаю! jquery-triggers.js не загружается. потому что я не могу видеть, что он загружается в сеть Chrome/firefox firebug/net соответственно.

Я попытался включить файл jquery-triggers.js на странице index.html после включения require.js, но он не работал, поскольку файлы jquery-triggers.js загружаются раньше.

+0

попробовать в зависимости от jqTriggers – Ven

+0

Я пытался, но не работает –

+0

определить ([ 'jqTriggers'], функция (jqTriggers) { $() выпадающий() 'выпадающий-тумблеры.';. }) ; Но это тоже не работает. –

ответ

0

Передача jqTriggers в требуемый массив для всего приложения.

Затем он будет загружен повсюду.

require(['application', 'routes', 'jqTriggers'], 
    function (Application, routes) { 
    var app = new Application({ 
    routes: routes, 
    controllerSuffix: '-controller' 
    });   
});