jQuery回调问题,只运行一次

时间:2012-06-13 12:58:47

标签: javascript jquery ajax callback

我在使用一段代码时遇到了一些问题,我使用jQuery的ajax来加载搜索结果,因为它是一个列表,我想对列表进行样式化,zerbra样式,所以我已经包含了一个回调函数。以下工作是第一次,但是当我再次搜索时它不起作用(造型)。

当我在回调函数中发出警报时,它每次都会触发,但样式不起作用。

ajax部分

  $.post('search.php',{value:val}.function(data){
  // output list

  }).error(function(){
      // error output
  }).success(function(){    
          // callback function. 
          if(typeof options.afterLoad == 'function'){
              options.afterLoad.call(this);
          }                     
  });

插件选项

  $('#search').search({
      afterLoad: function(){
         $('#results').children('li:odd').addClass('odd');
      }
  });

这不是完整的插件,只是重要的部分。

1 个答案:

答案 0 :(得分:0)

如果执行了回调,那么我可以考虑3个选项:

  • 没有身份results
  • 的控件
  • li
  • 没有子#results
  • odd不存在或者它不包含您认为的样式规则(可能是缓存问题?)

在回调上加上debugger条指示并检查length$('#results')的{​​{1}}