事件监听器在post方法上被删除

时间:2017-05-08 23:40:27

标签: javascript jquery

点击带有类数据库标题的th后,我的表通过post方法进行排序,但由于某种原因,click事件监听器被删除了,所以当我再次点击不同的数据库标题时,没有任何反应。我做错了什么?

$(function () {
    var user = $('#user');
    var databaseHeader = $('.database-header');
    var tableContainer = $('.table-container');
    var databaseHeaderValue;
    var url = './php/table.php';

    databaseHeader.click(function () { 
/* Checks for the user login div */
        if (user.closest('html').length){ 
            databaseHeaderValue = $(this).html();
            $.post(url, {'sort' : databaseHeaderValue}, function (data) {
                tableContainer.html(data);
            });
        }
    });
});

2 个答案:

答案 0 :(得分:1)

尝试更改您的jquery click,如下所示:

var user = $('#user');
var databaseHeader = '.database-header';
var tableContainer = $('.table-container');
var databaseHeaderValue;
var url = './php/table.php';

$(document).on('click', databaseHeader, function () { 
    /* Checks for the user login div */
    if (user.closest('html').length){ 
        databaseHeaderValue = $(this).html();
        $.post(url, {'sort' : databaseHeaderValue}, function (data) {
            tableContainer.html(data);
        });
    }
});

答案 1 :(得分:0)

您只刷新页面的一部分吗?在动态添加DOM元素之后,您无法使用jquery选择器获取它。

尝试

$(body).on("click", ".database-header",function(){
etc..
}