2

我同时使用 jQuery Mobile 和 iScrollview,我使用了 iscrollView

滚动工作正常。

问题1:

当我单击输入文本/密码字段时,我会得到一个与整个元素重叠的额外框,该框与输入的内容相同。发现同样的问题

这里没有解决方案

问题2:

导航到下一页时,上一页保留在新页面后面,当点击移动屏幕时,上一页从设备上消失。这在网络浏览器中没有发生。有什么建议么,

main.js 的代码

 require.config({
    paths: {
        jquery: '../lib/jquery',
        'jquery.mobile-config': 'helper/jqm-config',
        'jquery.mobile': '../lib/jquery.mobile-1.2.1.min',
        underscore: '../lib/underscore-min',
        backbone: '../lib/backbone-min',
        templates: '../templates',
        text: 'helper/text',
        config: 'helper/config',
        'backbone.subroute': '../lib/backbone.subroute',
        'cookie': '../lib/jquery.cookie',
         'maskInput': '../lib/Jquerymaskinput',
        'iscroll': '../lib/iscroll',
        'iscrollview': '../lib/jquery.mobile.iscrollview',
            }
    ,
    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'],
        'backbone.subroute': ['jquery', 'underscore', 'backbone'],
        //'backbone.oauth':['jquery','underscore','backbone'],
        'iscroll': {
            deps: ['jquery.mobile']
        },
        'iscrollview': {
            deps: ['iscroll']
        },
        'config': {
            exports: 'Config'
        }

    }

});
requirejs(['jquery', 'iscroll', 'jquery.mobile', 'iscrollview'], function($, iScroll) {
    var elements = jQuery(document).find(":jqmData(iscroll)");
    elements.iscrollview();
    
});

require([
    'app'

], function(App) {
    App.initialize();
});

用于路由器

define([
    'jquery',
    'underscore',
    'backbone',
    'backbone.subroute'
], function($, _, Backbone) {
    var AppRouter = Backbone.Router.extend({
        routes: {
            // general routes 
            '': 'defaultAction',
            'login':'login',               
            'menu': 'mainMenu',        
           
            // Default
            '*actions': 'defaultAction'       
        }
    });
  
    var initialize = function() {

            $('.back').live('click', function(event) {
                event.preventDefault();
                window.history.back();
                return false;
            });

        var app_router = new AppRouter;       
        app_router.on('route:defaultAction', function(actions) {
            require(['views/home/register'], function(RegisterView) {
                // We have no matching route, lets display the home page 
                console.log('At defaultAction');
            var registerView = new RegisterView();
            registerView.render();
               /// this.changePage(loginView, 'slide');
            });
        });          
         app_router.on('route:login', function(actions) {
            require(['views/home/login'], function(LoginView) {
                // We have no matching route, lets display the home page 
                console.log('At defaultAction');
            var loginView = new LoginView();
            loginView.render();
               /// this.changePage(loginView, 'slide');
            });
        });
        app_router.on('route:mainMenu', function(actions) {
            require(['views/home/menu'], function(MainMenuView) {
                console.log('At mainMenu::router');
            var mainMenuView = new MainMenuView();
            mainMenuView.render();
              //  this.changePage(mainMenuView, 'slide');
    });
        });

        Backbone.history.start();
    };
    return {
        initialize: initialize
    };
});
4

1 回答 1

2

我重写了代码,但它或多或少地解决了我的问题,将 jqm 更新为 1.3,将 jquery 更新为 1.9。重写所有css文件。导航到下一页很好,至少现在可以正常工作。

感谢帮助我的奥马尔。

gracias mi amigo

于 2013-05-27T04:24:32.407 回答