jqueryの次のタブに移動するときにjsスクリプトをアンロードするにはどうすればよいですか?

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

  •  06-07-2019
  •  | 
  •  

質問

jquery-uiを使用して5つのタブがあるサイトがあります。それぞれが個別のjQueryスクリプトをロードします。これで、2番目のタブを読み込んで3番目のタブに移動すると、2番目のタブのjsはまだアクティブなままであり、3番目のタブスペースでの操作が妨げられます。

3番目のタブに切り替えたときに2番目のタブの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