相关疑难解决方法(0)

如何在requirejs中使用jquery ui

我想addClass在我的应用程序中使用jQuery UI的功能.

除了我使用正常的jQuery,下划线,主干与requirejs一起分层.

我已经像这样配置了jQuery UI:

require.config({

    deps: ["main"],

    paths: {
        "text": "lib/text"
        , "jquery": "lib/jquery"
        , "jquery-ui": "lib/jquery-ui"
        , "underscore": "lib/underscore"
        , "backbone": "lib/backbone"
        , "bootstrap": "lib/bootstrap"
        , "templates": "../templates"
    },

    shim: {
        "jquery-ui": {
            exports: "$",
            deps: ['jquery']
        },
        "underscore": {
            exports: "_"
        },
        "backbone": {
            exports: "Backbone",
            deps: ["underscore", "jquery"]
        },
        "bootstrap": ['jquery']
    }

});
Run Code Online (Sandbox Code Playgroud)

在我的应用程序中:

define(['jquery', 'underscore', 'backbone'], function($, _, Backbone) {
    $('div').addClass('white');
});
Run Code Online (Sandbox Code Playgroud)

不幸的是,这只是普通addClass而不是来自jQuery UI的动画.

PS:我使用完整的jQuery版本.

javascript jquery-ui requirejs

39
推荐指数
1
解决办法
3万
查看次数

从HTML元素(如onclick处理程序)调用RequireJs模块中的方法

我是从一个"老"浏览器风格的模块结构改变一个项目,一个"新"浏览器的 - 服务器端JavaScript的模块结构require.js.

在客户端我使用的是异地托管的jQuery,所以我从他们在README 的"use priority config"技术中给出的示例开始:

<title>My Page</title>
<script src="scripts/require.js"></script>
<script>
require({
    baseUrl: 'scripts',
    paths: {
        jquery: 'http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min',
        jqueryui: ...,
        ...
        ... // bunch more paths here
    },
    priority: ['jquery']
}, [ 'main' ]);
</script>
Run Code Online (Sandbox Code Playgroud)

这实际上是正常的.但我想将功能从main导出到HTML网页本身.例如:

<a class="button" href="#" onclick="MyApi.foo();">
    <img src="foo.png" alt="foo" />Click for: <b>Foo!</b>
</a>
Run Code Online (Sandbox Code Playgroud)

在适应AMD模块模式之前,我通过在全局空间中创建字典对象来从我的各种文件中公开功能:

// main.js

var MyApi = {};

jQuery(document).ready(function($) {
    // ...unexported code goes here...

    // export function via MyApi
    MyApi.foo = function() {
        alert("Foo!");
    };
}); …
Run Code Online (Sandbox Code Playgroud)

html javascript module requirejs

33
推荐指数
2
解决办法
3万
查看次数

如何使用RequireJS在我的模块化backbone.js应用程序中包含jQueryUI?

我想在使用RequireJS的backbone.js应用程序中包含jQueryUI.index.html中包含的main.js文件如下:

require.config({
    paths: {
            jquery: 'libs/jquery/jquery-1.7.2.min',
            jqueryui: 'libs/jquery/jquery-ui-1.8.18.custom.min',
            underscore: 'libs/underscore/underscore-min',
            backbone: 'libs/backbone/backbone-optamd3-min',
            text: 'libs/require/text',
            templates: 'templates'
       }

});

require(['app'], function(App){
    App.start();
});
Run Code Online (Sandbox Code Playgroud)

对于每个模型/视图/路由器文件,我只是在"define"块的开头包含'jquery'命名空间,如下所示:

define([
    'jquery',
    'underscore',
    'backbone',
    'views/categoryview',
    'text!templates/category.html'
    ], function($, _, Backbone, CategoryView, categoryTemplate){
        // Here comes my code
});
Run Code Online (Sandbox Code Playgroud)

但是jQueryUI无法在这些文件中使用.我的代码有问题吗?或者我是否还应在每个"定义"块中包含"jqueryui"?但是如果我在"define"块中包含"jqueryui",我应该如何在函数中命名它以避免名称与jquery冲突?

jquery-ui requirejs backbone.js

13
推荐指数
1
解决办法
9298
查看次数

标签 统计

requirejs ×3

javascript ×2

jquery-ui ×2

backbone.js ×1

html ×1

module ×1