假设我有一个表的插件形式的两个不同的功能/过滤器(例如计算和排序)。用户可以选择他现在要使用的是哪一个。但是两者都有冲突,因此当选择一个时,另一个应该被停止/删除(不重新加载表本身)。我怎样才能做到这一点?
例如,我使用由
初始化的dataTable
jQuery插件
$('#myTable').dataTable();
但是当用户选择不同的过滤器时,我不知何故需要“停用”此插件以使其他过滤器无冲突地工作。我尝试了unbind
事件处理程序,但没有成功。
一般来说逻辑看起来像这样:
$('.js_trigger').on('click', '.calculation' function() {
//Deactivate
$('#myTable').dataTable();
//Activate
$('#myTable').dataCalculation();
}
$('.js_trigger').on('click', '.sorting' function() {
//Deactivate
$('#myTable').dataCalculation();
//Activate
$('#myTable').dataTable();
}
我希望你明白我的意思,这个问题不是广泛的。
解决方案:
在@ V31的提示下,我使用了empty()
函数。
1。)在页面加载时,在任何其他脚本更改表之前,我将表中的所有内容放在变量中。
tableContent = $('#myTableContainer').html();
2.)当需要加载不同的插件时,我会在执行插件之前清空容器并添加变量的内容。
$('#myTableContainer').empty();
$('#myTableContainer').html(tableContent);
$('#myTable').dataTable();
答案 0 :(得分:1)
您可以清空父div(该元素),以便删除绑定。像这样:
$('#myTable').empty();