jquery-mobile – jquery mobile require.js和骨干网

我真的在努力与require.js和jquery手机。我有一个基于松散的文件结构和加载模式

https://github.com/appboil/appboil-requirejs-backbonejs-jquerymobile-phonegap

但它是老的,我不得不对require 2.0版本进行修改。是否有社区接受的方式使用jquery mobile,backbonejs和requirejs在一起?我想使用骨干的路由而不是jquery手机。此外,该模板有电话沟通,我不关心。

解决方法

这是我使用的main.js文件
require.config({
  baseUrl: "/js/",paths: {
    jquery: 'libs/jquery/jquery-1.7.1','jquery.mobile-config': 'libs/jqm/jquery.mobile-config','jquery.mobile': 'libs/jqm/jquery.mobile-1.1.0','jquery.mobile.asyncfilter': 'libs/jqm/asyncfilter',underscore: 'libs/underscore/underscore-1.3.3',backbone: 'libs/backbone/backbone-0.9.2',templates: '../templates'
  },shim: {
          'underscore': {
            exports: "_"
          },'backbone': {
              //These script dependencies should be loaded before loading
              //backbone.js
              deps: ['jquery','underscore'],//Once loaded,use the global 'Backbone' as the
              //module value.
              exports: 'Backbone'
          },'jquery.mobile-config': ['jquery'],'jquery.mobile': ['jquery','jquery.mobile-config'],'jquery.mobile.asyncfilter': ['jquery.mobile'],}
});

require([
  'jquery','app','jquery.mobile','jquery.mobile.asyncfilter'
],function( $,App ){
    $(function(){
      App.initialize();
    });
});

最后一点非常重要,以使JQM正确加载(实际上是功能)。这部分:

require([
      'jquery','jquery.mobile.asyncfilter'
    ],App ){
        $(function(){
          App.initialize();
        });
    });

由于我需要jquery jquery(jquery mobile),我将加载它们,并感谢上面的垫片代码,依赖关系以正确的顺序加载。我实际上并没有将任何jqm变量传递给函数调用,它只传递$和App。下一个重要的部分是jqm-config文件

define(['jquery'],function ($) {
      $(document).on("mobileinit",function () {
          $.mobile.ajaxEnabled = false;
          $.mobile.linkBindingEnabled = false;
          $.mobile.hashListeningEnabled = false;
          $.mobile.pushStateEnabled = false;
      });
});

您可以将jqm的所有preinit代码放在该文件中。毕竟,你应该可以使用jqm!

相关文章

jQuery插件的种类 1、封装对象方法 这种插件是将对象方法封装起来,用于对通过选择器获取的jQuery对象进...
扩展jQuery插件和方法的作用是非常强大的,它可以节省大量开发时间。 入门 编写一个jQuery插件开始于给...
最近项目中需要实现3D图片层叠旋转木马切换的效果,于是用到了jquery.roundabout.js。 兼容性如图: ht...
一、什么是deferred对象? 开发网站的过程中,我们经常遇到某些耗时很长的javascript操作。其中,既有异...
AMD 模块 AMD(异步模块定义,Asynchronous Module Definition)格式总体的目标是为现在的开发者提供一...