ページ上の特定のdivへのコンテンツの読み込みを処理するウィジェットをjQueryで構築しようとしています。私がこれをしている理由は、私のコードを乾いた状態に保つためです。私はJavaScriptの読み込みにHeadJSを使用していることを言及する必要があります。
これは私のウィジェットコードです:
(function ($, window, document, undefined) {
$.widget ("my.contentloader", {
options: {
loadingMessage: true,
errorDiv: '#error',
contentDiv: '#content'
},
_create: function () {
$.ajax ({
type: "POST",
url: self.options.url,
data: {limit: self.options.params.limit, offset: self.options.params.offset},
beforeSend: function (html) {
// Check if loading message should be displayed
if (self.options.loadingMessage) {
$(self.options.contentDiv).html ("<div id='loading'>Loading</div>");
}
},
success: function (html) {
if (self.options.loadingMessage) {
$('#loading').remove ();
}
$(self.options.contentDiv).html (html);
},
error: function (html) {
$(self.options.errorDiv).html (html);
}
});
},
_setOption: function (key, value) {
this.options[key] = value;
$.Widget.prototype._setOption.apply (this, arguments);
}
});
})(jQuery, window, document);
このウィジェットファイルとjqueryを呼び出しページに含めます。次に、次のようなプラグインを使用します。
$(window).contentloader ({
url: 'loading/content/url'
});
問題は、このエラーが発生することです。
Uncaught TypeError: Cannot read property 'url' of undefined