我在我的网络应用程序中使用Ajax,这是我的Ajax Jquery功能:
$(".AlarmLink").click(function(){
alert('ok');
$(".page-content").empty();
$("#alarm-loader").css('display','block');
$.post($(this).attr("href"),
function(data){
var PageContent = $(data).find(".page-content");
$("#alarm-loader").css('display','none');
$(".page-content").append(PageContent.html());
});
return false;
});
我使用class =" AlarmLink"从HTML链接中调用它。
但问题是这种方法有时有效,有时则无效。
答案 0 :(得分:3)
试试这个。可能在设置了侦听器后,您已将元素添加到页面中。
$(document).ready(function(){
$(document).on('click', '.AlarmLink', function() {
alert('ok');
$(".page-content").empty();
$("#alarm-loader").css('display','block');
$.post($(this).attr("href"),
function(data){
var PageContent = $(data).find(".page-content");
$("#alarm-loader").css('display','none');
$(".page-content").append(PageContent.html());
});
return false;
})
});
答案 1 :(得分:2)
一些可能的问题,
e.preventDefault()
停止点击链接(“我从HTML链接中调用它”),尽管我看到您的返回false已经(并且e.stopPropagation()
)已经存在。因此,您不需要两者,只需e.preventDefault();
或return false
。on
的分页版本,然后通过.AlarmLink
选择器进行过滤(点击发生后)。把所有这些放在一起你得到:
$(function(){
$(document).on('click', ".AlarmLink", function(e){
alert('ok');
$(".page-content").empty();
$("#alarm-loader").css('display','block');
$.post($(this).attr("href"),
function(data){
var PageContent = $(data).find(".page-content");
$("#alarm-loader").css('display','none');
$(".page-content").append(PageContent.html());
});
return false;
});
});
附加到document
的委托事件不需要DOM就绪处理程序,因为document
始终存在,因此您可以将示例缩减为:
$(document).on('click', ".AlarmLink", function(e){
alert('ok');
$(".page-content").empty();
$("#alarm-loader").css('display','block');
$.post($(this).attr("href"),
function(data){
var PageContent = $(data).find(".page-content");
$("#alarm-loader").css('display','none');
$(".page-content").append(PageContent.html());
});
return false;
});
答案 2 :(得分:0)
试试这段代码,它最有可能帮到你
$(function(){
$(".AlarmLink").click(function(){
alert('ok');
$(".page-content").empty();
$("#alarm-loader").css('display','block');
$.post($(this).attr("href"),
function(data){
var PageContent = $(data).find(".page-content");
$("#alarm-loader").css('display','none');
$(".page-content").append(PageContent.html());
});
return false;
});
});
答案 3 :(得分:0)
$(document).ready(function(){
$(".AlarmLink").live('click', function() {
alert('ok');
$(".page-content").empty();
$("#alarm-loader").css('display','block');
$.post($(this).attr("href"),
function(data){
var PageContent = $(data).find(".page-content");
$("#alarm-loader").css('display','none');
$(".page-content").append(PageContent.html());
});
return false;
})
});