0

私のサイトでは、ユーザーは以前に追加したアイテムをクリックして編集できます。その後、ajax はデータベース内の情報に応じて異なるコンテンツを持つまったく同じ要素 (同じ ID とクラス) を「編集セクション」にロードします。

ユーザーが 1 つのアイテムをクリックして別のアイテムを編集しようとした後、「編集セクション」の要素をクリックすると、2 つのクリック イベントが発生します。問題は、ある特定の要素をクリックすると別の情報が ajax で読み込まれるため、二重の結果が得られることです。

ユーザーが別のアイテムをクリックした後、以前の「編集セクション」が jQuery 関数 remove() で削除されるようにしましたが、問題は解決しません。

編集:

問題は見つかったと思いますが、良い解決策が思いつきません。ユーザーが項目をクリックして編集すると、ajax は HTML とそれらの HTML 要素に必要な JS を読み込みますが、ページが読み込まれた後に読み込まれる項目では JS が機能しないため、成功関数から JS を削除することはできません。

4

1 に答える 1

0

コードを共有すると、より多くの情報が提供されます。とにかく、ほとんどの場合、イベントが複数回発生する問題は、同じイベントを複数回登録していることです。

これを回避する 1 つのアプローチは、イベントを 1 回だけ発生させる必要がある場合に備えて、「on」関数の代わりに「one」関数を使用することです。または、登録されたイベントを「アンバインド」します。

于 2013-08-27T12:18:37.590 に答える