1
$(".btn_tab").click(function() { 
        var ids = new Array();
        $i=0;
        $(this).ajaxSuccess(function(e) {
            alert($i);
            $( ".tab-content .active table tbody tr td a.elusive-align-justify" ).each(function() {
                $url = $(this).attr('href');
                //console.log($url);

                var divided = $url.split("/");
                var id = divided[2];

                //console.log(id);
                ids.push(id);   
            });
                console.log(ids);

                $i++;
        });
  • 在第一个选项卡中,我收到警报 0,
  • 在第二个警报 0、警报 1 中,
  • 在第三个警报 0、警报 1、警报 2 中,依此类推。

正确的应该总是 alert 0

我认为这个问题与事件监听器有关,因为我每次点击只做一个 xhr 请求。

如果我使用this.removeEventListener(e);我得到一个错误,一切正常。return falsereturn或者this.removeEventListener('click', e, false);不工作。

任何想法?

4

1 回答 1

0

ajaxSuccess是一个事件监听器,每次点击都会绑定一个新的监听器。将其移到点击处理程序之外。

于 2013-09-19T13:56:57.100 回答