1

UI タブによって外部からロードされたページの jQuery アクションをどこで定義する必要があるのか​​ 疑問に思っています。

たとえば、3 つのタブを含む index.html ページがあります。各タブをクリックすると、extern1.html、extern2.html、extern3.html が読み込まれます。これら 3 つの外部ページには、いくつかの jQuery アクション (onload-actions、onclick-actions など) が必要です。

外部ページのすべての jQuery コードをインデックスに配置し、外部ページの 1 つをロードすると、タブをクリックしても、この jQuery コードは外部ロード ページに影響しません。

外部ページのすべてのjQueryコードを外部ページ自体に配置すると、問題が発生します(私は思います)。タブ/外部ページを複数回ロードすると、jQueryコードが何度もロードされるからですよね?

では、jQuery コードをどこに置く必要があるのでしょうか。(何かの例?)

どうもありがとう!

4

3 に答える 3

1

jQueryをマザーhtmlに配置し、.live()関数を使用して必要なイベントをバインドします。ドキュメントはこちら

于 2010-01-27T11:31:45.500 に答える
1

コードをタブ読み込みイベント ハンドラーに配置できます。

$('.your-tabs-container').tabs({
   load: function(event, ui) { /* your code here */ }
});

また:

$('.your-tabs-container').bind('tabsload', function(event, ui) {
  /* your code here */
});

このような場合、ドキュメントによると、ui引数から必要な UI 情報を取得できます。

ui.tab     // anchor element of the selected (clicked) tab
ui.panel   // element, that contains the selected/clicked tab contents
ui.index   // zero-based index of the selected (clicked) tab
于 2010-01-27T11:34:19.903 に答える
0

jQuery ライブラリは 1 回だけ含める必要があります。あなたのインデックスページに。外部ページには、その個々の外部ページで使用される JavaScript を含める必要があります。

索引:

  • jQuery ライブラリを含める

外部 1:

  • 外部ページ 1 に関連する jQuery 関数

外部 2:

  • 外部ページ 2 に関連する jQuery 関数

それが私がそれをする方法です:-)

于 2010-01-27T11:35:20.140 に答える