📄 readme
字号:
+ Added ability for YAHOO.widget.Tooltip instances to have shadow: - The shadow for a Tooltip is implemented by appending a new element as the last child of its root <DIV/> element: <DIV class="yui-tt"> <DIV class="bd"> ... </DIV> <DIV class="yui-tt-shadow"/> </DIV> - The code that creates the shadow element resides inside the Tooltip's public "onRender" prototype method. To disable the creation of a Tooltip's shadow override the prototype of the "onRender" method: YAHOO.widget.Tooltip.prototype.onRender = function () {}; - The actual creation of the shadow element is deferred until the Tooltip is made visible for the first time. - A Tooltip's shadow element can be styled via two CSS classes: + "yui-tt-shadow" - Applied to the shadow element when it is created. + "yui-tt-shadow-visible" - Applied to the shadow element when the Tooltip is visible; it is removed the Tooltip is 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."+ Prototype of all classes (Module, Overlay, Panel, Dialog, SimpleDialog, Tooltip, Config, and ContainerEffect) are augmented with YAHOO.util.EventProvider, facilitating subscribing to an instance's Custom Events by name via a "subscribe" method that is a direct member of the class. For example: var oOverlay = new YAHOO.widget.Overlay("myoverlay"); oOverlay.subscribe("show", onShow);+ Added a new "bringToTop" method to YAHOO.widget.Overlay that places the Overlay on top of all other Overlay instances.+ Added a new "bringToTop" method to YAHOO.widget.OverlayManager that places the specified Overlay instance on top of all other Overlay instances. This method is called on each Overlay instance that is registered with an OverlayManager instance.+ Dialog instances are now able to upload files should the Dialog instance's form contain <input type="file"/> elements. PLEASE NOTE: If a Dialog instance will be handling asyncronous file uploads, its "callback" property will need to be setup with an "upload" handler rather than the standard "success" and, or "failure" handlers. For more information, see the Connection Manager documenation on file uploads: http://developer.yahoo.com/yui/connection/#file+ Added a new "getButtons" method to YAHOO.widget.Dialog that returns an array containing each of the Dialog's buttons; by default an array of HTML <BUTTON> elements. If the Dialog's buttons were created using the YAHOO.widget.Button class (via the inclusion of the optional Button dependancy on the page), an array of YAHOO.widget.Button instances is returned.+ Added a "destroy" method to YAHOO.util.Config that sets all properties to null, unsubscribes all listeners from each property's change event and all listeners from the configChangedEvent. The "destroy" method of YAHOO.widget.Module now automatically calls the "destroy" method of its configuation object.+ Added a "IFRAME_OFFSET" constant to YAHOO.widget.Overlay that controls how much the <iframe> shim should be offset from each side of an Overlay instance.+ Added a new "syncIframe" method to YAHOO.widget.Overlay that syncronizes the size and position of the <iframe> shim to that of the Overlay.+ Added a "ICON_CSS_CLASSNAME" constant to YAHOO.widget.SimpleDialog that represents the name of the CSS class applied to the element created by the "icon" configuration property. Known Issues------------+ "Sam" skin Panel missing left and right borders when declared with a height --------------------------------------------------------------------------- If the height of a Panel instance exceeds the total height of its header, body and footer elements, the space not filled with content will lack a left and right border. Therefore, to set a Panel instance to a fixed height when using the "Sam" skin, apply the desired height to the body element, taking into account the height of the header and footer elements. To set the height of a Panel instance's body via CSS: #mypanel .bd { height: 100px; } Or via JavaScript: oMyPanel.body.style.height = "100px";+ Elements with scrollbars poke through Overlay 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 an Overlay instance's root 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." 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 Overlay's root HTML element (DIV) via the "hideMacGeckoScrollbars" and "showMacGeckoScrollbars" methods of YAHOO.widget.Overlay. 2) For Panel (and its subclasses) it is the underlay element, not the root element, whose "overflow" property is toggled between "hidden" and "auto." The underlay element therefore acts as a shim to correct the scrollbar problem. 3) For Tooltip instances using the "Sam" skin it is the shadow element, not the root element, whose "overflow" property is toggled between "hidden" and "auto." The shadow element therefore acts as a shim to correct the scrollbar problem. 4) Once the fix is applied the bug will reappear if the window loses focus. This can be remedied via Javascript by hiding and showing the Overlay instance when the window receives focus: YAHOO.util.Event.on(window, "focus", function () { oMyOverlay.hide(); oMyOverlay.show(); }); ** For more information see https://bugzilla.mozilla.org/show_bug.cgi?id=187435+ Scrollbars remain visible after an Overlay is hidden ---------------------------------------------------- There is a bug in Gecko-based browsers for Mac OS X where an element's scrollbars and the scrollbars of its child nodes remain visible when its "visibility" property property is set to "hidden." To fix this problem, the "overflow" property of an Overlay instance's root element and child nodes 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." 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 Overlay's root HTML element (DIV) via the "hideMacGeckoScrollbars" and "showMacGeckoScrollbars" methods of YAHOO.widget.Overlay. 2) There may be instances where the CSS for a web page or application contains style rules whose specificity override the rules implemented by the Container CSS files to fix this bug. In such cases, is necessary to leverage the provided "hide-scrollbars" and "show-scrollbars" classes to write custom style rules to guard against this bug. For example: To fix the scrollbars issue for an Overlay instance with an id of "myoverlay" whose body element has scrollbars applied by default: #myoverlay .bd { height: 100px; /* Apply scrollbars for all browsers. */ overflow: auto; } #myoverlay.hide-scrollbars .bd { /* Hide scrollbars by default for Gecko on OS X */ overflow: hidden; } #myoverlay.show-scrollbars .bd { /* Show scrollbars for Gecko on OS X when the Overlay is visible */ overflow: auto; } To fix the scrollbars issue for a Panel instance with an id of "mypanel" whose body element has scrollbars applied by default: #mypanel .bd { height: 100px; /* Apply scrollbars for all browsers. */ overflow: auto; } .yui-panel-container.hide-scrollbars #mypanel .bd { /* Hide scrollbars by default for Gecko on OS X */ overflow: hidden; } .yui-panel-container.show-scrollbars #mypanel .bd { /* Show scrollbars for Gecko on OS X when the Panel is visible */ overflow: auto; } ** For more information see https://bugzilla.mozilla.org/show_bug.cgi?id=187435+ Flash Movies appear on top of Overlay instances ----------------------------------------------- Flash movies can appear on top of Overlay 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+ Overlay instances not rendered at correct z-index in IE ------------------------------------------------------- In IE, when an Overlay instance is rendered inside a relatively positioned element the z-index of the Overlay instance is now relative to its relatively positioned parent element. This is not a bug in the Overlay class, but rather a bug in IE where relatively positioned elements establish a new stacking context for their child nodes. To avoid this bug it is recommend that all Overlay 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+ Header elements for Panel instances using "Sam" skin shrinkwrap in IE 7 ----------------------------------------------------------------------- In IE 7 (Standards Mode) if a Panel instance is created without specifying a value for the "width" configuration property the width of the Panel's header element will shrinkwrap to the width of its text node. To avoid triggering this bug in IE always specify a value for the "width" configuration property when using Panel.+ Panel instances render at 100% of the browser viewport ------------------------------------------------------ In IE 7 (Quirks Mode) and IE 6 (Quirks Mode and Standards Mode) if any of the child nodes of a Panel instance's root element have "layout" (http://msdn2.microsoft.com/en-us/library/ms533776.aspx) and no value has been specified for the "width" configuration property, the Panel will render at 100% of the width of browser's viewport. This bug will manifest when using the "Sam" skin as layout is applied to the header, body and footer elements (by setting the CSS "zoom" property of the element to "1" ) in order to get the negative margins required for the rounded corners to render correctly. To avoid triggering this bug in IE always specify a value for the "width" configuration property when using Panel.+ Panel instances render at 2px wider when using "Sam" skin --------------------------------------------------------- For the "Sam" skin a Panel instance's rounded corners are created via the application of negative 1px left and right margins on the header, body and footer elements. These negative margins will cause a Panel instance to be rendered at 2px wider than the value specified by the "width" configuration property. Therefore, when using the "Sam" skin consider the negative left
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -