ここにJSC初心者が必要です。私は以前の方法でうまく動作していたJQueryコードを、RequireJSを使って変換しようとしました。JQuery、Masonry、&ImagesLoadedでのJJS:オブジェクト[objectオブジェクト]には 'imagesLoaded'メソッドがありません
私のページのヘッダーは、スクリプトタグ(require.js自体、require.cfg.js、およびboot/main.js)に3つのJSファイルを読み込みます。
関連require.cfg.jsの抜粋:
,paths: {
'boot': 'src/boot'
,'jquery': 'lib/jquery.min'
,'jquery.masonry': 'lib/plugins/masonry.pkgd.min'
,'jquery.imagesloaded': 'lib/plugins/imagesloaded.pkgd.min'
}
,shim: {
'jquery': {
exports: 'jQuery'
}
,'jquery.masonry': ['jquery']
,'jquery.imagesloaded': ['jquery']
}
ブート/ main.js:
require([
'jquery',
'jquery.masonry',
'jquery.imagesloaded',
], function($) {
// The following code worked just fine when I included it in the header of the page as-is
$(function() {
var $container = $('#container');
// This doesn't work
$container.imagesLoaded(function() {
// Neither does this
$('#container').masonry({itemSelector : '.item',});
});
});
});
私はこれらのJSファイルのすべてが見つかり、ブラウザによってロードされていることを確認することができます。
require([
'jquery',
'jquery.masonry',
'jquery.imagesloaded',
], function($, Masonry, ImagesLoad) {
石積みや変数をImagesLoadedが正しく設定されている....しかし、私は、W/O jQueryの
続行する必要はありません。しかし、私は呼んしようとすると:。そして、私は私がしなければことを確認します
キャッチされない例外TypeError::imagesLoaded()とjQueryのコンテナオブジェクト上の.masonry()は、私が手に私はimagesLoaded行をコメントアウト場合は、 'imagesLoaded [オブジェクト[オブジェクトのオブジェクト]が方法はありません
をそして、私は得る:
キャッチされない例外TypeError:オブジェクト[オブジェクトのオブジェクト]は何の方法「石工」
ない私がここで間違ってやっていることを確認していませんか...?私が他のStackOverflowの質問で読んだことから、コードは私に似ています...?
ありがとうございます!
更新:
私はこのコードにそのような非はJQueryの方法を使用している場合は、それが動作:
var container = document.querySelector('#container');
imagesLoaded(container, function() {
var msnry = new Masonry(container, {
itemSelector: '.item',
});
});
これはまだ実行しているテスト場所ですか? – AdityaSaxena
Ummm、ローカル。 :-)私は一緒に何かを入れます.... – TAH
http://reliqry.com/test/をご覧ください。私は無関係なものを取り除こうとしました...可能性があります私はそうすることでいくつかの他のエラーを導入しました...見てくれてありがとう! – TAH