たくさんのアイテムが掲載されたページがあります。各項目にはウィジェットがあり、クリックすると YUI ポップアップ スタイルのオプション メニューが表示されます。これまでのところ、これはうまく機能しています。
jQuery/ajax 呼び出しを使用して新しいアイテムをページに挿入し、既存のアイテムを押し下げています。アイテムは正しく挿入されていますが、アイテムを呼び出すウィジェットの新しい位置と一致するように、アイテムのポップアップ メニューの位置を更新する必要があります。私が知る限り、それらはページ座標として計算され、ページがレンダリングされるときにメニュー オブジェクトと共に保存され、ajax 挿入によって自動的に更新されません。
これが私の問題です: メニューごとにメニュー項目を再計算し、removeListener() を実行して古いメニューを強制終了し、addListener() を実行して新しいものを挿入する jQuery を試しました。これにより、メニューが呼び出されたときにメニューの位置が適切に更新されますが、他の何かが壊れます。ウィジェットをクリックしてメニューを表示し、ページの別の場所をクリックすると、メニューが消えるのではなく画面に残ります。他のウィジェットをクリックすると、それらも表示されます。注: コンソールにエラーは表示されません。メニューの表示中に ESCAPE キーを押すと、メニューが正しく非表示になります。
これを行う方法があるはずですが、迷っています。手がかりはありますか?おそらく、メニューのコンテキスト情報を更新するだけで十分です。私を台無しにしているように見える削除と追加のリスナーシーケンスなしでそれを行う方法はありますか? ありがとう!