我有一个使用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");

我希望这会有所帮助。如果您有任何其他问题,请与我们联系。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top