3

我只想在第一次点击时调用 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 调用。

有什么方法可以实现吗?谢谢。

4

3 回答 3

3

或者

API .onehttp ://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
    }
})      
})
于 2012-07-15T06:32:34.957 回答
2

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
    }
  })      
})
于 2012-07-15T06:33:59.090 回答
0

http://api.jquery.com/live/

$('.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
    }
})
});
于 2012-07-15T06:33:01.327 回答