最近、友人がプロジェクトに取り組んでいるとき、彼はWeiboコンテンツの動的にロードされた動的に遭遇し、「コメントを展開」をクリックしてWeiboに関するすべてのコメントを取得しました。動的にロードされた<span mid = '123456789' class = 'get_comment'>クリックしてコメントを読み込む</span>はここで使用されます。
その後、もう一度書きます
$( "。get_comment).click(function(){// response event logic})クリックイベントがトリガーされないことがわかり、コンソールを使用してリッスンすることにエラーはありません。私がそれを理解できないとき、
Sohu Home Furnishing Mallで貨物管理を行っていたときにも遭遇したので、動的な負荷に焦点を当てました。
私はその時点でインラインイベントを使用していたこと、そして動的にロードするときにインラインイベントを使用していたことを覚えています。たとえば、var obtn = '<onclick = "freight.delete_curr_citys();" href = "javascript:void(0);"> delete </a> ';実際、貨物はobject.delete_curr_citysはこのオブジェクトの方法です。
もちろん、JQueryのLive()関数を使用して、応答ロジックを書き換えることもできます。
$( "。get_comment")。live( 'click'、function(){var mid = $(this).attr( "mid"); alert(mid);});この時点で、jQueryはSpan Clickイベントに応答できます。ここでは、主に動的に生成されたHTMLイベント応答に使用されるライブ関数委任イベントが使用されます。 Live()関数の役割に関して、その最も直感的な利点は、クライアントブラウザー操作を常に「聞く」ことができることです。おそらく、この「リスニング」が常に拘束され、判断され、Webアプリケーションのパフォーマンスの問題を引き起こす可能性があるためです。プロジェクトの複雑さに従って選択的に使用できます。ライブ機能に関しては、ここに非常に詳細な説明があります。
定義と使用法
Live()メソッドは、選択した要素に1つ以上のイベントハンドラーを添付し、これらのイベントが発生したときに実行される関数を指定します。
Live()メソッドを介して添付されたイベントハンドラーは、セレクターの現在と将来の要素(スクリプトによって作成された新しい要素など)を一致させるのに適しています。
文法
$(selector).live(event、data、function)
パラメーターの説明
イベントが必要です。要素に添付された1つ以上のイベントを指定します。
複数のイベントはスペースで区切られています。有効なイベントである必要があります。
オプションのデータ。関数に渡された追加データを指定します。
関数が必要です。イベントが発生したときに実行される関数を指定します。
上記の記事で動的に生成されたDOMの理由とソリューションは、編集者が共有するすべてのコンテンツをオンクリックイベントにトリガーしません。私はそれがあなたに参照を与えることができることを願っています、そして私はあなたがwulin.comをもっとサポートすることを願っています。