40

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']
    }

});

私が行うアプリケーションでは:

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

残念ながら、これはaddClassjQuery UI からアニメーション化されたものではなく、通常の処理のみを行います。

PS: 完全版の jQuery を使用しています。

4

3 に答える 3

34

jquery-ui を含める必要があります。

define(['jquery-ui', 'backbone'], function() {
    $('div').addClass('white');
});

jquery-ui の依存関係であるため、jquery は自動的に必要になります。

さらに、これらのスクリプトは何も返しませんが、変数は window オブジェクトに割り当てられます。それらを割り当てる必要はありません。

于 2012-08-24T16:26:09.270 に答える
3

試す

define(['jquery', 'jquery-ui', 'underscore', 'backbone'], function($, ui, _, Backbone) {
    // $.ui should be defined, but do
    // $.ui = ui if its not
    $('div').addClass('white');
});
于 2012-08-24T16:26:34.707 に答える