jQueryタブによってAjaxコンテンツとしてロードされているページに実装されている場合とされていない場合があるコールバックメソッドを呼び出したい。つまり、JSPファイルでレンダリングされたコンテンツをロードする一連のjQueryタブがあります。これらのファイルの中には、追加のAjaxコンテンツが含まれているものと、含まれていないものがあります。
私にできることは次のとおりです。
$(document).ready(function() {
$("#menu").tabs( {
cache: false,
ajaxOptions: {cache: false},
load: function(event, ui) {
if (ui.index == index_of_tab_with_additional_content) {
//call code defined in other places and embedded using <script> tags
}
}
});
});
ただし、これにはいくつかの欠点があります。すべてのコールバックは、メインのタブページに埋め込まれたスクリプトで宣言する必要があります。また、依存する可能性のあるものはすべて、エレガントではありません。また、ページごとのif / elseステートメントを回避するために、同じコールバックを呼び出せるようにしたいと思います。要するに、私は次のようなものが欲しいです
load: function(event, ui) {
callback(); //Each tab would implement this differently, or not at all
}
}
残念ながら、コンテンツで宣言されているスクリプト関数を呼び出す方法がわかりませんでした。他のスレッドで述べられているように、JavascriptはjQueryによってロードされません。
どうやらこれにはオプションを設定する必要がありますが、どれかわかりませんでした。
オプションが設定され、JSがロードされた場合、どのように機能にアクセスしますか?ui.panel.funcname();になりますか??
ありがとう、ES