0

私の問題は、jqueryを使用してページをdivにロードすると、スクリプトタグが希望どおりにアクティブにならないことです(ただし、私が知る限り、スクリプトタグはアクティブになります)。

スクリプトをロードするためのいくつかの異なる方法($ .getScript();など)を見てきました。ただし、何を試しても、コードをロードするのではなく、実際にコードを配置した場合と同じように効果を発揮させることはできません。

そのため、私の質問は、実際に存在するコードとほぼ同じ効果をロードするように設定する方法だと思います(通常と同じ順序でアクティブ化する場合と同じです)。

4

2 に答える 2

0

あなたが私の答えを気に入ってくれるとは思えません。しかし、これが私が知っている唯一の方法です。

スクリプト タグがアクティブ化されない理由は、それを添付するイベントがないためです。したがって、スクリプトはそれ自体をアクティブにすることはできません。したがって、それらを実行する最も簡単な方法は次のとおりです。

//find script tage in page html (your ajax call will return html, represented here as 'newPage'
var scriptAsStr = newPage.split('<script>')[1].split('</script>')[0];
// run that script with eval
eval(scriptAsStr);
于 2012-05-23T02:41:15.017 に答える
0

div に挿入された新しい要素を のようなイベントに応答させる方法を尋ねている場合はclick、メイン ヘッダー スクリプトで次を使用する必要があります。

$(document).on('click', "#mynewdiv", function() {----});

これは、ページの読み込み時に既に存在するドキュメント内に作成された後、その id を持つ div をターゲットにします。

すでに存在するラッパー要素があり、その要素に固有の挿入されたすべての要素をターゲットにしたい場合は、次の方法でより正確に指定できます。

 $("#wrapper").on('click', "*", function() {----});
于 2012-05-23T02:31:43.327 に答える