我想只在第一次点击时调用ajax来保存带宽,因为数据很大。以下是我的代码
$('.id-list').click(function() {
$.ajax({
type: "POST",
url: "timesheet.php?action=idlist",
async: false,
success: function(rdata) {
$('.id-list').removeClass('id-list') //remove the class
}
})
})
检查元素,class="id-list"
已被删除,但当我再次单击它时,它会再次触发ajax调用,我不想发生这种情况。
有没有办法实现这个? 感谢。
答案 0 :(得分:3)
或强>
API .one
:http://api.jquery.com/one/
将处理程序附加到元素的事件。每个元素最多执行一次处理程序。
$('.id-list').one('click', function() {
$.ajax({
type: "POST",
url: "timesheet.php?action=idlist",
async: false,
success: function(rdata) {
$('.id-list').removeClass('id-list') //remove the class
}
})
})
答案 1 :(得分:2)
描述:将处理程序附加到元素的事件。每个元素最多执行一次处理程序。
$('.id-list').one("click",function() {
$.ajax({
type: "POST",
url: "timesheet.php?action=idlist",
async: false,
success: function(rdata) {
$('.id-list').removeClass('id-list') //remove the class
}
})
})
答案 2 :(得分:0)
$('.id-list').live("click", function(){
$.ajax({
type: "POST",
url: "timesheet.php?action=idlist",
async: false,
success: function(rdata) {
$('.id-list').removeClass('id-list') //remove the class
}
})
});