У меня проблемы с пользовательским интерфейсом jQuery.
Когда я перезагружаю контент через ajax, эта функция не работает.
dialog: function(mod, url, params) {
var me = this;
if (url) {
game.ajax(url,function(resp, title) {
var darea = $('#dialog-ui-content-'+mod);
if (darea.length > 0) {
darea.remove();
}
$('body').append('<div id="dialog-ui-content-'+mod+'" title="'+title+'">'+resp+'</div>');
if (!params) params = {};
if (me.dialogStack[mod]) {
params = me.dialogStack[mod];
}
if (me.dialogStack[url]) {
params = me.dialogStack[url];
}
params.show = 'fade';
$('#dialog-ui-content-'+mod).dialog(params);
});
}
},
функция, которая перезагружает содержимое:
ajax: function(url, callback, selector) {
$.ajax({
url: url,
method: 'POST',
success: function(resp){
var title_ex = resp.match(/.*<title>(.*?)<\/title>.*/ig); // uses title
resp = resp.replace(/.*<title>(.*?)<\/title>.*/ig, ""); //
if (title_ex) {
title_ex = title_ex.toString().replace(/.*<title>(.*?)<\/title>.*/ig, "$1"); //
} else {
title_ex = '';
}
if (selector) {
$(selector).html(resp);
}
callback(resp, title_ex);
},
error: function() {
alert('Could not connect');
}
});
},
Google Chorme говорит:
137Uncaught TypeError: Object [object Object] has no method 'dialog'
(anonymous function)game.js:137
$.ajax.successgame.js:104
f.extend._Deferred.e.resolveWith:16
w:18
f.support.ajax.f.ajaxTransport.send.d
Обновлено: Та же проблема, если сделать одну функцию.