Javascript 加载ajax请求后jQuery PreventDefault()不工作

Javascript 加载ajax请求后jQuery PreventDefault()不工作,javascript,jquery,ajax,Javascript,Jquery,Ajax,我正在处理ajax请求,点击下一周和上一周。先看一下图片 好的,这里下周和上一周都有相同的类整个星期,下面是这个表的基本html <table class="sevent-weekly-view"> <thead> <tr> <td> <a class="whole-week" href="" data-week="24" data-year="2018">Prev Week</a&

我正在处理ajax请求,点击下一周和上一周。先看一下图片

好的,这里下周和上一周都有相同的类
整个星期
,下面是这个表的基本html

<table class="sevent-weekly-view">
<thead>
    <tr>
        <td>
            <a class="whole-week" href="" data-week="24" data-year="2018">Prev Week</a>
        </td>
        ...
        <td>Tue<br><span class="weekly-date">19</span></td>
        ...
        <td>
            <a href="" class="whole-week" data-week="26" data-year="2018">Next Week</a>
        </td>
    </tr>
</thead>
</table>
我的Ajax请求和所有其他请求都工作正常,没有产生任何错误。我还尝试了
jQuery('.whole week')


当您删除一个元素然后(通过javascript)替换它时,它会丢失在页面加载时添加到它的所有事件绑定。因此,您需要在ajax成功后绑定click事件。此外,您不需要将
循环一周。
bindClick()

<thead>
    <tr>
        <td>
            <a class="whole-week" href="" data-week="24" data-year="2018">Prev Week</a>
        </td>
        ...
        <td>Tue<br><span class="weekly-date">25</span></td>
        ...
        <td>
            <a href="" class="whole-week" data-week="26" data-year="2018">Next Week</a>
        </td>
    </tr>
</thead>
 var _getweekevents = function(week, year){
 var table = jQuery('.sevent-weekly-view');
    jQuery.ajax({
        type: 'post',
        url: seventdata.ajaxurl,
        data:{
            action: 'sevent_weekly_posts',
            week : week,
            year: year,
        },
        beforeSend: function(){},
        success: function(request){
            table.html(request.table);
        },
    });
}

var weekly = jQuery(document).find('.whole-week');

weekly.each(function(index){
    jQuery(this).on('click', function(e){
        e.preventDefault();
        var week = jQuery(this).data('week');
        var year = jQuery(this).data('year');
        _getweekevents(week, year);
    });
});
var _getweekevents = function(week, year){
var table = jQuery('.sevent-weekly-view');
    jQuery.ajax({
        type: 'post',
        url: seventdata.ajaxurl,
        data:{
            action: 'sevent_weekly_posts',
            week : week,
            year: year,
        },
        beforeSend: function(){},
        success: function(request){
            table.html(request.table);
        },
    });
}

function bindClick() {
    $('.sevent-weekly-view').on('click', '.whole-week', function(e){
        e.preventDefault();
        var week = jQuery(this).data('week');
        var year = jQuery(this).data('year');
        _getweekevents(week, year);
    });   
}