如何在jquery中转到下一个选项卡时卸载js脚本?
题
我有一个使用jquery-ui的五个标签的网站。每个都加载一个单独的jQuery脚本。现在,当我加载第二个选项卡并转到第三个选项卡时,第二个选项卡中的js仍然保持活动状态,并在第三个选项卡空间中干扰我的操作。
有人可以解释为什么在更改为第三个标签时,第二个标签中的js仍然保持活动状态以及如何避免这种行为?
解决方案
将页面加载到页面后,它将保持活动状态,直到页面刷新为止。 我不知道卸载,但你肯定可以禁用某个脚本的动作,具体取决于它是什么。您可以发布导致问题的脚本示例吗?
编辑: 例如,如果您的脚本依赖于您所在的选项卡,则可以使用选项卡处于特定索引来调整脚本中的操作。演示语法:
//只有当你处于当前标签
时才会执行操作if(tabs_ui_index == 0){
//do something
}
获取该变量( tabs_ui_index
),您可以执行以下操作:
$('#mytabs').bind('tabsselect', function(event, ui) {
tabs_ui_index = ui.index;
});
此代码绑定“tabsselect”。事件到选项卡的元素,并在每次用户更改选项卡时将变量设置为当前索引选项卡。
此外,如果您加载的脚本为不再存在的按钮设置了点击事件,或者您现在用于其他目的,则可以取消绑定事件:
$("#mybutton").unbind("click");
我希望这会有所帮助。如果您有任何其他问题,请与我们联系。
不隶属于 StackOverflow