如何在ajax页面插入后更新yui菜单位置?

时间:2011-02-24 20:37:49

标签: jquery yui yui-menu

我有一个包含大量项目的页面。每个项目都有一个小部件,当单击它时,会弹出一个YUI弹出式菜单选项。到目前为止,这工作正常。

我正在使用jQuery / ajax调用将新项目插入页面,将现有项目推下来。这些项目正在正确插入,但我现在必须以某种方式更新项目弹出菜单的位置,以匹配调用它们的小部件的新位置。据我所知,它们被计算为页面坐标,并在呈现页面时与菜单对象一起存储,并且不会被ajax插入自动更新。

这就是我的问题所在:我已经尝试了一些jQuery,对于每个菜单,重新计算菜单项,执行removeListener()来杀死旧菜单,并执行addListener()以插入应该是的新的一个。这会在调用菜单时正确更新菜单的位置,但会破坏其他内容:如果我单击窗口小部件并调出菜单,然后单击页面上的其他位置,菜单将保留在屏幕上而不是消失。我可以点击其他小部件,它们也会出现。注意:控制台中不显示任何错误;在菜单演示期间按ESCAPE键仍然可以正确隐藏菜单。

必须有办法做到这一点,但我迷路了。有线索吗?也许我真正需要做的就是更新菜单的上下文信息;有没有一种方法可以做到这一点,没有删除和添加监听器序列似乎搞砸了我?谢谢!

1 个答案:

答案 0 :(得分:0)

如更新中所述,所有情况继续良好;我宣布要回答这个问题。