javascript - jquery 事件监听器在刷新我的 jquery 数据表后不起作用?

标签 javascript jquery events datatables event-listener

我有一个页面,其中包含一个由数据表填充的大表。
我必须显示几个表,所以每次我删除整个表及其容器并重新初始化一个新表时,但是在我刷新表并再次加载它之后,我所有的事件监听器都消失了。 只需点击几下鼠标即可工作,甚至无法正常工作。
我将所有函数嵌套在金字塔顺序中,这样我就可以用 1 或 2 个关键函数调用底部函数,但调用它们也不起作用。
所以我开始使用 jquery .on 但它没有用。
这是我的 .on 函数之一:

$('body #dataTable tbody').on('blur keyup', 'div.confirm-edit #tmp', function(e){
    if(e.type === 'blur' || (e.type === 'keyup' && e.which === 13)){
        confirmCurrentActive();
    }
    if(e.type === 'keyup' && e.which === 27){
        cancelCurrentActive();
    }
}); 

所以我在这里,不知道如何解决这个问题

最佳答案

您需要将选择器挂接到一个元素,该元素始终在加载时在页面中可用。如果您要删除/添加 table 元素,这不是您想要使用的,所以不是:

$('body #dataTable tbody').on(...

使用:

$('body').on(...

请注意,虽然这会起作用,但您应该将 body 更改为最接近 table 的父元素,您不会在页面加载后动态添加它 - 就像 div 容器或类似的容器。

关于javascript - jquery 事件监听器在刷新我的 jquery 数据表后不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14547601/

相关文章:

javascript - 在 radio 上选择显示选择

javascript - 每个图 block 的 jQuery onclick 延迟超时

javascript - 如何重用 kendo-ui 窗口 jquery

php - 仅当满足 php 条件时才运行 javascript 函数

javascript - 使用 JavaScript 或 jQuery 构建带有 GET 参数的链接的最佳方式是什么

在默认行为后执行的 Javascript 事件处理程序

javascript - Node.js 事件监听器被阻止?

asp.net - 使用带有代码隐藏的网络表单通过反射引发事件

javascript - JS 恢复默认/全局函数

javascript - 使用 WebSocket 跨多个网页进行实时提要?