<script type="text/javascript">
$(document).ready(function(){
function loading_show(){
$('#loading').html("<img src='images/loading.gif'/>").fadeIn('fast');
}
function loading_hide(){
$('#loading').fadeOut('fast');
}
function loadData(page){
loading_show();
$.ajax
({
type: "POST",
url: "load_data.php",
data: "page="+page,
success: function(msg){
$("#container").ajaxComplete(function(event, request, settings)//.ajaxComplete is good
{
loading_hide();
$("#container").html(msg);
});
}
});
alert();
}
loadData(1); // For first time page load default results
$('#container .pagination li.active').on('click',function(){//replaced .live with .on
var page = $(this).attr('p');
loadData(page);
});
$('#go_btn').on('click',function(){//replaced .live with .on
var page = parseInt($('.goto').val());
var no_of_pages = parseInt($('.total').attr('a'));
if(page != 0 && page <= no_of_pages){
loadData(page);
}else{
alert('Enter a PAGE between 1 and '+no_of_pages);
$('.goto').val("").focus();
return false;
}
});
});
</script>
上面是来自这里的分页教程的分页代码。我尝试使用jquery 1.9.1代替使用1.4的代码块。但似乎即使我把不赞成的。live改为。on,仍然没有结果呈现。我在这篇文章中找不到任何弃用的代码。然而,教程中的其他代码看起来也很完美。所以我认为一定是javascript &上面的Ajax代码
在KyleK的帮助下,修改后的版本(但仍然不能工作)在
下面<script type="text/javascript">
$(document).ready(function(){
function loading_show(){
$('#loading').html("<img src='images/loading.gif'/>").fadeIn('fast');
}
function loading_hide(){
$('#loading').fadeOut('fast');
}
function loadData(page){
loading_show();
$.ajax
({
type: "POST",
url: "load_data.php",
data: {page: page},
//ORIGINAL data: "page="+page,
success: function(msg)
{
$("#container").ajaxComplete(function(event, request, settings)
{
loading_hide();
$("#container").html(msg);
});
}
});
}
loadData(1); // For first time page load default results
$('body').on('click','#container .pagination li.active', function(){
//ORIGINAL $('#container .pagination li.active').live('click',function(){
var page = $(this).attr('p');
loadData(page);
});
$('body').on('click','#go_btn',function(){
//ORIGINAL $('#go_btn').live('click',function(){
var page = parseInt($('.goto').val());
var no_of_pages = parseInt($('.total').attr('a'));
if(page != 0 && page <= no_of_pages){
loadData(page);
}else{
alert('Enter a PAGE between 1 and '+no_of_pages);
$('.goto').val("").focus();
return false;
}
});
});
</script>
改变数据在ajax中的传递方式…
从……url: "load_data.php",
data: "page="+page,
.
url: "load_data.php",
data: {page: page},
把这个改成…
$('#container .pagination li.active').on('click',function(){
这个… $('body').on('click','#container .pagination li.active', function(){
这里也是…
$('#go_btn').on('click',function()
……
$('body').on('click','#go_btn',function()
我想我昨天回答这个问题的时候已经说过了……
live和on的基本区别你可以查看
$('selector').live(event, function(){ //do stuff here })
和in
$(document).on(event, selector, function(){ //do stuff here })
你也可以参考详细文档来获得更好的转换方法