好的,所以我使用jquery 1.8.3这个功能运行良好,但是当我使用jquery 1.10.x或更高版本时它不再有效。
<script type="text/javascript">
$.ajaxSetup({cache: false});
$(document).ready(function() {
// set up the click event
$('a.groups_loader').on('click', function() {
var toLoad = '<? echo base_url(); ?>user/account_groups/';
$('.groupsajax').fadeOut(100, loadContent);
$('#load').remove();
$('#groupswaiting').append('<div id="load" style="height: 400px;"><div id="loader-arm"><div id="loader-lp"><div id="loader-baLabel"></div></div><div id="loader-reflect"></div></div></div>');
$('#load').fadeOut(1000);
function loadContent() {
$('.groupsajax').load(toLoad, '', function(response, status, xhr) {
if (status == 'error') {
var msg = "Sorry but there was an error: ";
$(".groupsajax").html(msg + xhr.status + " " + xhr.statusText);
}
}).fadeIn(4000, hideLoader());
}
function hideLoader() {
$('#load').fadeOut(2000);
}
return false;
});
});
</script>
我想知道改变了什么以及如何解决这个问题。感谢
答案 0 :(得分:0)
如果它帮助其他人......问题不在上面的脚本中,而是在页面上的另一个类似的(ajax)脚本中。在上面的脚本中,我已将.live('click', function()
更新为.on('click', function()
,因为.live已在JQ的更高版本中弃用。但是,页面上的另一个脚本尚未更新,仍然使用.live,这阻止了上述脚本的工作。因此,不要一次尝试解决一个脚本问题,请确保先将它们全部更新!