私は WordPress で自分のポートフォリオ Web サイトを構(gòu)築しており、プラグインを使用せずにコードのほぼ全體を書(shū)いています。 Web サイトのホームページには動(dòng)的な「カスタム投稿タイプ」グリッドが付屬しており、投稿の分類(lèi)/カテゴリに基づいて Ajax フィルターを?qū)g裝し、フィルターに基づいて投稿を並べ替えました。スクリプトは script.js で実行されます:
リーリーまた、以下に示すように、カーソルを追跡し、ホバーすると投稿タイトルを表示するカスタム ツールチップも実裝しました。これは、ホームページのタグ間で実行される php ファイルです:
リーリーそして、投稿グリッドのクエリ (「animated-cursor」クラスと data-cursor-title が関連するプロパティです):
リーリー問(wèn)題: Ajax フィルターを使用した後、要素のホバー時(shí)にカスタム カーソル ツールチップが機(jī)能しません。ページの読み込み後はすべてが計(jì)畫(huà)どおりに正常に動(dòng)作しますが、Ajax はまったく実行されません。
私の知る限り (私は php、ajax、js の初心者です)、私のスクリプトはページの読み込み時(shí)に準(zhǔn)備された要素にのみアクセスできます。 Ajax呼び出し後にスクリプトを機(jī)能させようとしていますが、それを回避する方法が見(jiàn)つかりません。誰(shuí)か何か提案はありますか?複雑なことはないだろうと思っていました。
###ありがとう!
問(wèn)題は、JavaScript が既存の DOM にバインドされており、これは最初のレンダリングで有効であるということです。 ただし、ajax 呼び出しの後、新しい DOM が HTML に追加されます。新しい DOM には機(jī)能がバインドされていないため、ホバーは機(jī)能しません。
解決策は、イベントを DOM 自體にバインドしないことです。イベントリスナーを親アノテーションまたはページ本體にバインドできます。 例えば### リーリー