0

jQueryロード機能を使用して、外部ページ(私のドメインと同じ)をdivにロードしています。両方のページには個別の役割もあります。つまり、子ページには独自の機能 (個別のページとして機能) があり、div にも読み込まれます。ページ構造は

1ページ目(親)

<html>
<head>
<script>JQUERY HERE</script>
</head>
<body>
<div id="to_load_second_page"></div>
</body>
</html>

2ページ目

<html>
<head>
<script>JQUERY HERE</script>
</head>
<body>
<div id="contents"></div>
</body>
</html>

個別に両方のページが正常に動作しています。しかし、1 番目の div に 2 番目のページをロードした後、1 番目のページの jQuery 関数が機能しません。

子が2番目のページに再び読み込まれると、jQuery.jsが親に追加されると思います。しかし、jquery.js が必要なため、子ページも個別に実行する必要があるため、この jquery.js のロードは避けられません。

この問題の解決方法を教えてください

お時間をいただきありがとうございます:)

4

1 に答える 1

0

jQuery を使用して.load()コンテンツを既存の要素に追加する場合、HTML ドキュメント全体をフェッチするのではなく、既存のページに挿入される新しいマークアップだけをフェッチする必要があります。ただし、jQuery は<script>、フェッチされた HTML フラグメント内のタグがグローバルコンテキスト (既に jQuery が利用可能な「ページ 1」のコンテキスト) で実行されるようにするため、ページ 2 のコンテンツを次のように整理できることに注意してください。

<div id="contents"><!-- Contents here --></div>
<script>
    /* JS you want to execute - but don't include jQuery.js here - 
       it's already available and including it again will overwrite the
       existing object, making any plugins originally included unavailable!
     */
</script>
于 2012-06-26T09:58:36.137 に答える