details.js 904 B

1234567891011121314151617181920212223242526272829303132333435
  1. /*!
  2. {
  3. "name": "details Element",
  4. "caniuse": "details",
  5. "property": "details",
  6. "tags": ["elem"],
  7. "builderAliases": ["elem_details"],
  8. "authors": ["@mathias"],
  9. "notes": [{
  10. "name": "Mathias' Original",
  11. "href": "https://mathiasbynens.be/notes/html5-details-jquery#comment-35"
  12. }]
  13. }
  14. !*/
  15. define(['Modernizr', 'createElement', 'docElement', 'testStyles'], function(Modernizr, createElement, docElement, testStyles) {
  16. Modernizr.addTest('details', function() {
  17. var el = createElement('details');
  18. var diff;
  19. // return early if possible; thanks @aFarkas!
  20. if (!('open' in el)) {
  21. return false;
  22. }
  23. testStyles('#modernizr details{display:block}', function(node) {
  24. node.appendChild(el);
  25. el.innerHTML = '<summary>a</summary>b';
  26. diff = el.offsetHeight;
  27. el.open = true;
  28. diff = diff !== el.offsetHeight;
  29. });
  30. return diff;
  31. });
  32. });