问题标签 [yui-menu]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
196 浏览

yui - 如何在运行时从 YUI 菜单中删除阴影?

我有一个菜单按钮,我想从中删除阴影。我不想实例化一个菜单对象(因为它需要我在 DOM 中指定一个 div 以将其附加到)。我可以在 JS 中实例化一个菜单,但是当我尝试通过以下方式删除阴影时:this.menuButton.getMenu().cfg.setProperty('shadow', false);阴影仍然出现。我在 JS 调试器中检查了 cfg 对象,阴影设置为 false,但阴影仍然出现。

另一种选择是从 dom 中删除阴影 div,但这似乎不是正确的做法。

0 投票
1 回答
230 浏览

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

我有一个页面,上面有一堆项目。每个项目都有一个小部件,当单击该小部件时,会显示一个 YUI 弹出式选项菜单。到目前为止,这工作正常。

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

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

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

0 投票
3 回答
1245 浏览

jquery - 用于网站导航的基于 jQuery 的 YUI 样式菜单

我过去曾使用YUI Menu进行网站导航,并且对它处理视口大小检测等各种情况的能力印象深刻。我目前的项目以 jQuery 为中心,我想知道是否有一个很好的可比菜单系统对于 jQuery。网络搜索还没有找到这个特定问题的答案。

我正在寻找 YUI 菜单所做的具体事情:

  • <ul>从文档 ( )中的嵌套列表标记创建菜单
  • 样式相当简单(匹配网站)
  • 渐进式增强
  • 有子菜单指示符
  • 渲染子菜单时是否感知视口(将它们保持在屏幕中,滚动)

YUI 网站上的两个示例:

0 投票
0 回答
229 浏览

jquery - YUI菜单的jQuery替换->菜单失败

我有一个 div,其中包含一个简单的 YUI 菜单——它是一个弹出窗口,附加到 div 内的一个小部件。菜单中的其中一个操作调用一个 javascript 函数,该函数对服务器进行 ajax 调用,获取 DIV 的新内容,并用新内容替换 DIV 的旧内容。这包括菜单。这个替换基本上工作正常,除了替换后菜单坏了:单击小部件时它仍然出现,并且仍然可以选择菜单项(并且它们的操作正确发生),但是菜单项的突出显示不再发生,并且在菜单外单击或按退出键不再清除菜单 - 它只是像死鱼一样躺在屏幕上。我必须刷新页面才能让它消失,之后(当然)一切都很好。

任何想法是什么问题?从服务器返回的代码包含创建菜单并设置连接小部件和菜单的侦听器的 YUI javascript,并且对 console.log 的几次调用确认代码存在并作为 ajax 的一部分运行替代品。这让我有点发疯......谢谢!

0 投票
1 回答
321 浏览

events - 如何要求明确解除 yui 弹出菜单?

我有一个页面,上面有几个小部件,每个小部件在点击时都会弹出一个 yui 弹出菜单:如果我点击小部件 1,它的菜单就会出现。如果我现在单击小部件 2,小部件 1 的菜单会收到一个隐藏事件,而小部件 2 的菜单会收到一个显示事件并出现。我想更改此设置,以便在小部件 1 的菜单启动时,必须在附加菜单之前通过单击页面背景(和/或可能再次单击小部件或转义键)将其显式关闭允许出现小部件 2。

我在菜单上设置了一些 beforeShowEvent 和 beforeHideEvent 处理程序,希望能够使用某种方法(全局变量?ick)来跟踪菜单何时存在并相应地显示或隐藏,但它不起作用 -这些处理程序无法区分单击页面背景和单击小部件 2 之间的区别(至少,不像我到目前为止所做的那样)。有什么办法可以做我想做的事吗?谢谢!

0 投票
1 回答
50 浏览

jquery - 创建后如何获取 yuimenu 对象?

我有一些基于 yuimenu 的弹出菜单工作,一般来说,一切都很好。但是,我发现我需要将手放在一个菜单对象上,这样我才能在它被创建后对其进行处理(例如,当页面上发生其他事情时隐藏暴露的菜单)。我可以找到 yuimenu 类的 div,但我需要这个对象,所以我可以(大概)在它上面做一个cfg.setProperty('visibility', 'hidden')或类似的事情。

所以:我怎样才能得到这个对象?我试过YAHOO.widget.Menu(theDivID)了,但结果火了。谢谢!(ps:如果我说这一切都错了,请告诉我!)

0 投票
1 回答
55 浏览

yui - YUI MenuButton 首次显示时很大

我有一个通过 AJAX 调用延迟加载的 YU​​I (2.8.x) MenuButton。我没有做任何特别的事情来限制一次可见的项目数量。当项目第一次加载时,它们都是可见的,即使页面必须扩展以适应它们,但是每次你在之后显示它时,菜单的大小都会限制在视口中,你会得到向上/向下滚动箭头. 有没有办法强制第一次点击该行为?

0 投票
1 回答
252 浏览

yui - 如何捕捉关闭 YUI 菜单的退出键?

我正在用 YUI 菜单做一些事情,基本上工作正常。当我通过一个按钮上的键单击来提升菜单时,我会对一些 DIV 进行一些着色以创建特定的菜单效果。再次单击该按钮将关闭菜单并撤消着色,一切都很好。

我的问题是按下退出键也会关闭菜单,但没有运行撤消着色代码,所以我最终会在屏幕上留下一些剩余的垃圾。我怎样才能捕捉到退出键的按下,以便在现在删除的菜单之后运行一些代码来清理?谢谢!

0 投票
2 回答
249 浏览

drop-down-menu - YUI 正在覆盖我的
  • ID。我怎样才能保存它们?
  • 我正在将YUIPurecss一起使用,我注意到在创建下拉菜单时,我的<li>元素及其id' 会被覆盖。

    他们变成了这样的东西:<li id="yui132343_3242342">

    看这个例子: PureCSS Dropdown

    我怎样才能保存我给定id的?

    我的小提琴示例: 小提琴示例 YUI Dropdown