📄 readme
字号:
+ Tuned scrolling behavior so that when the user has scrolled to the bottom of a YAHOO.widget.Menu instance and starts pressing the up arrow key, the contents begin scrolling only when the next item to be selected is out of view of the scrollable area.+ Modified "removeMenu" method of YAHOO.widget.MenuManager so that it removes the specified YAHOO.widget.Menu instance from the collection of visible menus. + Calling the "destroy" method of a visible YAHOO.widget.Menu instance now purges it from the YAHOO.widget.Manager's collection of visible Menus. + YAHOO.widget.Menu instances now blur before hiding.+ The debug version of YAHOO.widget.Menu now correctly logs as "Menu" rather than "Overlay" in IE. + Setting a YAHOO.widget.MenuItem instance's "checked" configuration property to "true" two or more times followed by "false" will no longer result in some of the DOM elements used to render the checkmark icon will no longer remain in the item's DOM.+ It is now possible to click anywhere on a YAHOO.widget.MenuItem instance and have it navigate to the URL specified by its "url" configuration property - even if the MenuItem has a value specified for its "target" configuation property.+ The "toString" method of YAHOO.widget.MenuItem now returns the instance's id.+ Setting the YAHOO.widget.MenuItem.prototype.COLLAPSED_SUBMENU_INDICATOR_TEXT constant to empty string no longer results in JavaScript error.+ YAHOO.widget.MenuBar instances behave the same regardless of the value of their "position" configuration property.+ It is now possible to ctr or shift-click on YAHOO.widget.MenuItem instances without the browser automatically redirecting to the URL specified by the MenuItem's "url" configuration property.Added the following features:-----------------------------+ Prototype of all classes (Menu, ContextMenu, MenuBar, MenuItem, ContextMenuItem, MenuBarItem) are augmented with YAHOO.util.EventProvider.+ Added the following methods to YAHOO.widget.MenuManager: - "getMenuItem" - "getMenuItemGroup"+ Added the following methods to YAHOO.widget.Menu: - "subscribe" - "getSubmenus" - "onRender"+ Added a "disabled" configuration property to YAHOO.widget.Menu.+ Added the constant "CSS_LABEL_CLASS_NAME" to YAHOO.widget.MenuItem that represents the name of the CSS class applied to the <A/> node that is the first child of its root <LI/> node.+ Added the constant "CSS_LABEL_CLASS_NAME" to YAHOO.widget.MenuBarItem that represents the name of the CSS class applied to the <A/> node that is the first child of its root <LI/> node.+ Added ability for YAHOO.widget.Menu instances to have shadow: - The shadow for a Menu is implemented by appending a new element as the last child of its root <DIV/> element: <DIV class="yuimenu"> <DIV class="bd"> <UL> <LI class="yuimenuitem"/> <LI class="yuimenuitem"/> <LI class="yuimenuitem"/> </UL> </DIV> <DIV class="yui-menu-shadow"/> </DIV> - The code that creates the shadow element resides inside the Menu's public "onRender" prototype method. To disable the creation of a Menu's shadow override the prototype of the "onRender" method: YAHOO.widget.Menu.prototype.onRender = function () { }; - The actual creation of the shadow element is deferred until the Menu is made visible for the first time. - The shadow element is only created for Menu instances whose "position" configuration property is set to "dynamic." - A Menu's shadow element can be styled via two CSS classes: + "yui-menu-shadow" - Applied to the shadow element when it is created. + "yui-menu-shadow-visible" - Applied to the shadow element when the Menu is visible; it is removed when hidden. - The shadow element is only styled when using the new "Sam" skin, for the previous default skin its "display" property is set to "none."Changes:--------+ Deprecated "browser" property of YAHOO.widget.MenuItem in favor of the YAHOO.env.ua.+ Modified the DOM structure for a YAHOO.widget.MenuItem instance so that its root <LI/> node only has only two direct descendants: - The <A/> node for its text label - The <DIV/> node for its submenu The submenu indicator node (<EM class="submenuindicator" />), checked indicator node (<EM class="checkedindicator" />), and help text node (<EM class="helptext" />) that were previously direct descendants of a YAHOO.widget.MenuItem instance's root <LI/> are now direct descendants of its <A/> node: <LI class="yuimenuitem || yuimenubaritem"> <A class="yuimenuitemlabel || yuimenubaritemlabel"> Text Label <EM class="helptext"> Help Text </EM> (Optional) <EM class="checkedindicator"> ... </EM> (Optional) <EM class="submenuindicator"> ... </EM> (Optional) </A> <DIV class="yuimenu"> ... </DIV> (Optional submenu node) </LI>+ As a result of the DOM structure changes for YAHOO.widget.MenuItem, the following CSS class are now only applied to a YAHOO.widget.MenuItem instance's <A/> node: - "selected" - "disabled" - "checked" - "hashelptext" - "hassubmenu"+ The "text" configuration property of YAHOO.widget.MenuItem now accepts a string of HTML (previously only accepted plain text).+ The "emphasis" and "strongemphasis" configuration properties of YAHOO.widget.MenuItem are no longer interpreted when building from existing markup.+ All YAHOO.widget.MenuItem instances built from markup must have an <A> node as the first child of its root <LI> node.+ When building YAHOO.widget.MenuItem instances from existing markup, the value of the "text" property is set to the innerHTML of the menu item's <A> node.+ Deprecated the following YAHOO.widget.MenuItem configuration properties: - "strongemphasis" - "emphasis" - "helptext"Known Issues------------+ ContextMenu works differently in Opera -------------------------------------- Opera doesn't support the "contextmenu" DOM event used to trigger the display of YAHOO.widget.ContextMenu instances. As a result, clicking the right mouse button in Opera will not result in the display of a ContextMenu instance as it would in IE, Gecko, and Safari. To work around this shortcoming, users will need to do the following to trigger the display of YAHOO.widget.ContextMenu instances in Opera: - Opera for Windows: Hold down the control key while clicking with the left mouse button. - Opera for Mac OS X: Hold down the command/Apple key while clicking with the left mouse button.+ Focus highlight sticks in Opera ------------------------------- In Opera focus is designated via the application of a background color to an element's text node. When a Menu instance has focus in Opera, the focus highlight can remain on a MenuItem instance even after it has blurred.+ ContextMenu instances cannot be invoked by clicking on Java Applets ------------------------------------------------------------------- When a Java Applet is specified as the "trigger" element for a ContextMenu instance it will not display when the Applet is clicked. This is not a bug in the ContextMenu class, but rather a result of DOM events not bubbling up from inside Java Applets. For more information on this issue see: http://tech.groups.yahoo.com/group/ydn-javascript/message/12128+ Flash Movies appear on top of Menu instances -------------------------------------------- Flash movies can appear on top of Menu instances in IE and Gecko-based browsers. To fix this problem, set the "wmode" of the Flash movie to either "transparent" or "opaque" as indicated below: Via the <object> tag: <object> <param name="wmode" value="opaque"> </object> <object> <param name="wmode" value="transparent"> </object> Via the <embed> tag: <embed wmode="transparent"> ... </embed> <embed wmode="opaque"> ... </embed> ** For more information see http://kb.adobe.com/selfservice/viewContent.do?externalId=tn_15523+ Menu instances not rendered at correct z-index in IE ------------------------------------------------------- In IE, when a Menu instance is rendered inside a relatively positioned element the z-index of the Menu instance is now relative to its relatively positioned parent element. This is not a bug in the Menu class, but rather a bug in IE where relatively positioned elements establish a new stacking context for their child nodes. To avoid this bug is recommend that all Menu instances that need to be able to float above any other element in the document be made direct descendants of the <body> element. ** For more information see http://therealcrisp.xs4all.nl/meuk/IE-zindexbug.html+ Elements with scrollbars poke through Menu instances floating above them ------------------------------------------------------------------------ There is a bug in Gecko-based browsers for Mac OS X where an element's scrollbars will poke through absolutely positioned elements floating above them. To fix this problem the "overflow" property of a Menu instance's shadow element is toggled between "hidden" and "auto" (through the application and removal of the "hide-scrollbars" and "show-scrollbars" CSS classes) as its "visibility" configuration property is toggled between "false" and "true." Therefore, the shadow element acts like a shim, blocking scrollbars from poking through the Menu. PLEASE NOTE: 1) The "hide-scrollbars" and "show-scrollbars" CSS classes classes are applied only for Gecko on Mac OS X and are added/removed to/from the Menu's root HTML element (DIV) via the "hideMacGeckoScrollbars" and "showMacGeckoScrollbars" methods of YAHOO.widget.Overlay. 2) This fix is only applied when using the "Sam" skin; the CSS for the original Menu skin does not contain any rules for rendering the shadow element. 3) Once the fix is applied the bug will reappear if the window loses focus. This can be fixed via Javascript by hiding and showing the Menu instance when the window receives focus: YAHOO.util.Event.on(window, "focus", function () { oMyMenu.hide(); oMyMenu.show(); }); ** For more information see https://bugzilla.mozilla.org/show_bug.cgi?id=187435*** version 2.2.2 ***Fixed the following bugs:-------------------------+ "toString" method of MenuItem, MenuBarItem and ContextMenuItem classes will no longer throw a JavaScript error when using the debug version of the Event utility.+ "toString" method of Menu, MenuBar and ContextMenu classes will no longer attempt to output the instance's id if it is not available.+ Logger statements output by debug version of MenuManager are now properly categorized as "MenuManager"*** version 2.2.1 ***Added the following features:-----------------------------+ Added the following methods to YAHOO.widget.Menu: - "focus" - "blur" - "hasFocus"+ Added the following Custom Events to YAHOO.widget.Menu: + "focusEvent" + "blurEvent"+ Added the following methods to YAHOO.widget.MenuManager: - "getFocusedMenuItem" - "getFocusedMenu"+ Added "hasFocus" method to YAHOO.widget.MenuItemFixed the following bugs:-------------------------+ Menu instances no longer set focus to themselves by default when made visible. Menus only receive focus in response to the following events: - The user mouses down on a MenuItem instance - The user tabs into a MenuItem instance+ Application of the "maxheight" configuration property is now correctly deferred until the "render" event fires when Menu instance is being lazy loaded.+ The "maxheight" configuration property can now be set multiple times without a Menu instance restoring itself to its original default height.+ The "maxheight" configuration property can now be set on hidden Menu instances that use lazy loading. + Menu instances with a "width" configuration property set will now render at the specified width rather than shrink wrapping to their contents.+ Menu item help text no longer wraps to the next line in Opera 9.+ Immediate submenus of a Menubar instance will no longer shift their position to try and remain inside the confines of the browser's viewport.+ Lazy loaded ContextMenu instances now appear in the correct position when they are made visible for the first time.+ MenuBar instances no longer throw JavaScript errors when navigating items with submenus containing no active items using the keyboard.+ Replaced use of native "hasOwnProperty" method with YAHOO.lang.hasOwnProperty.+ Rendered Menu instances will now update their width when items are added or removed.+ Mousing over a Menu instance in an IE window that does not have focus will no longer cause the window to receive focus.Changes:--------+ "activeItem" property of YAHOO.widget.Menu now returns a reference to the Menu's currently selected item.+ Added a "visible" CSS class that is applied to visible Menu instances.+ Refactored the Menu family to improve performance, especially when working with a large number of instances in IE6.*** version 2.2.0 ***Added the following features:-----------------------------* Added two new methods to YAHOO.widget.Menu: * "getItems" - Returns a flat array of the items in a menu.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -