質問: jQueryは非常に大きな文書で動作しますか? ちょっとプログラミングのpeps!私は質問があります:jQuery。私たちは、非常に大きなHTMLレポートを生成しているソフトウェアアプリケーションを持っています。 Google Chromeをハードディスクからロードするには12〜20秒かかります。 使用されているJavaScriptがいくつかあり、HTMLバージョンのレポートにいくつかの追加機能を与える役割しか果たしません。現在、すべてのイベントは、インラインHTML `onclick` などから起動されます。 jQueryに変換してセレクタを使用してイベントをバインドすると、セレクタは数千の要素のうちの10個に簡単にマッチする可能性があります。さらに、jQuery(例: `$(document).ready()`)を使用する典型的な方法は、ドキュメントが完全に読み込まれるまでクリックイベントが発生しないようにします。 **So the questions are:** Is jQuery up to this task? Or am I better suited leaving inline script? If it is, are there certain techniques I need to use to make it work well? And is there a way to circumvent the "no events until document load" scenario? **And a secondary question** *(this one just occurred to me as I was writing this)*: This report is being sold to a client. What are my license obligations if jQuery is included as apart of the report? ***Edit*** @ jfriend00:私はこれを行う方法(報告書を分けて)をやり遂げる方法を少し失っています。レポートは、HTMLとPDFの2つのフォーマットで発行されます。クライアントは、セクションを印刷できるデジタルマニュアルを用意したいと考えています。また、キーパーツをリンクするアンカーを提供するため、HTML版も必要です。 JavaScriptでは、レポートの基になったデータを表示するためのポップアップが表示されます。何が起こったのかは、スケーリングの問題に遭遇したことです。分析されるデータは大幅に増加しており、結果のレポートのサイズも大きくなっています。 機密上の理由から、このレポートはオンラインでも社内のイントラネット上でもライブできません。これは、個人のローカルマシン上で実行される成果物でなければなりません。 誰かがこれをうまく処理するためのヒントを持っているなら、私はあなたのアイデアを聞きたいです。これはしばらく私を悩ませている問題です。
回答: `document.ready` に関する限り、 `.live()`関数を使用してイベントをバインドすると、DOMに要素が追加されるとイベントハンドラが追加されます。 の代わりに: ``` $(function() { $().bind(, ); }); ``` `.live()`を使用することができます: ``` $().live(, ); ``` `.live()`の説明( http://api.jquery.com/live/ ): > 現在のイベントと一致するすべての要素のイベントにハンドラをアタッチする > セレクター、現在および将来。 > >