JavaScriptを使用してページ全体を別のページに置き換えることをテストしているところですが、この答えはdocument.write
. 理由についてdocument.write
は、同じページを使用するスクリプトとスタイルを含む HTML 全体を置き換える必要がありました。
それは私が望むことをしますが、イベントハンドラーとの一貫性がないようです。私のハンドラーはすべて以下をdocument
使用することに接続されています:
$(document).delegate(...);
現在、私は奇妙な結果を持っています。私が作ったフィドルでは、ハンドラーをアタッチします。クリックすると、イベントが発生し、ページが書き換えられ、関数が再度実行されますが、ハンドラーはアタッチされません。
ただし、私のプロジェクトでは、同じルーチンを実行しています ( d.w()
、次にハンドラーを追加します)。一度再アタッチするとハンドラーは機能しますが、2 番目のルーチンを実行した後 (同じページで)、もうアタッチされません。
だから私の質問は:
- を使用する場合
d.w()
、既存のハンドラは から消去されdocument
ますか? - 後続の s の後
window
も同じですか? それとも何らかの形で「更新」されていますかdocument
d.w()
- 既に解析されたスクリプトはメモリに残り、後続
d.w()
の の後に実行されますか? それともそれらも消去されますか?