Как выгрузить js-скрипт при переходе на следующую вкладку в jquery?

StackOverflow https://stackoverflow.com/questions/1211426

  •  06-07-2019
  •  | 
  •  

Вопрос

У меня есть сайт с пятью вкладками, использующий 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