Javascript 删除jQuery插件而不重新加载内容

Javascript 删除jQuery插件而不重新加载内容,javascript,jquery,jquery-plugins,Javascript,Jquery,Jquery Plugins,假设我有两个不同的功能/过滤器(例如,计算和排序),它们是表的插件形式。用户可以选择他现在想要使用的。但是两者都有冲突,因此当选择一个时,另一个应该停止/删除(不重新加载表本身)。我怎样才能做到这一点 例如,我使用dataTablejQuery插件,该插件由 $('#myTable').dataTable() 但是,当用户选择不同的过滤器时,我不知何故需要“停用”这个插件,以便其他过滤器能够正常工作而不会产生冲突。我尝试了解除绑定事件处理程序,但没有成功 一般来说,逻辑如下所示: $('.js_

假设我有两个不同的功能/过滤器(例如,计算和排序),它们是表的插件形式。用户可以选择他现在想要使用的。但是两者都有冲突,因此当选择一个时,另一个应该停止/删除(不重新加载表本身)。我怎样才能做到这一点

例如,我使用
dataTable
jQuery插件,该插件由

$('#myTable').dataTable()

但是,当用户选择不同的过滤器时,我不知何故需要“停用”这个插件,以便其他过滤器能够正常工作而不会产生冲突。我尝试了
解除绑定
事件处理程序,但没有成功

一般来说,逻辑如下所示:

$('.js_trigger').on('click', '.calculation' function() {
    //Deactivate
    $('#myTable').dataTable();
    //Activate
    $('#myTable').dataCalculation();
}

$('.js_trigger').on('click', '.sorting' function() {
    //Deactivate
    $('#myTable').dataCalculation();
    //Activate
    $('#myTable').dataTable();
}
$('#myTable').empty();
我希望你明白我的意思,这个问题不要太宽泛

解决方案:

在@V31的提示下,我使用了
empty()
函数

1.)在页面加载时,在任何其他脚本更改表之前,我将表中的所有内容放在一个变量中

tableContent = $('#myTableContainer').html();
2.)当需要加载不同的插件时,在执行插件之前,我清空容器并添加变量的内容

$('#myTableContainer').empty();
$('#myTableContainer').html(tableContent);
$('#myTable').dataTable();

可以清空(该元素的)父div,以便删除绑定。大概是这样的:

$('.js_trigger').on('click', '.calculation' function() {
    //Deactivate
    $('#myTable').dataTable();
    //Activate
    $('#myTable').dataCalculation();
}

$('.js_trigger').on('click', '.sorting' function() {
    //Deactivate
    $('#myTable').dataCalculation();
    //Activate
    $('#myTable').dataTable();
}
$('#myTable').empty();

不确定您到底在寻找/期望什么,但dataTable插件接受销毁方法,可能符合您的需要:“不重新加载表本身”,但是。。。这正是清空表格所做的。@KevinB是的,你是对的。我的意思是在
ajax
或完全刷新页面的意义上重新加载更多内容。对不起,如果我的描述令人困惑。谢谢,你的回答为我指明了正确的方向。如果您感兴趣,我会相应地更新我的问题。