我有一个页面,其中包含一个由数据表填充的大表。
我必须显示几个表,所以每次我删除整个表及其容器并重新初始化一个新表时,但是在我刷新表并再次加载它之后,我所有的事件监听器都消失了。
只需点击几下鼠标即可工作,甚至无法正常工作。
我将所有函数嵌套在金字塔顺序中,这样我就可以用 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/