dom-utils.js 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. var RED_REGEX = /red|rgb\(255,\s*0,\s*0\)/;
  2. var GREEN_REGEX = /green|rgb\(0,\s*255,\s*0\)/;
  3. var BLUE_REGEX = /blue|rgb\(0,\s*0,\s*255\)/;
  4. function getStockScrollbarWidths(dir) {
  5. var el = $('<div><div style="position:relative"/></div>')
  6. .css({
  7. position: 'absolute',
  8. top: -1000,
  9. left: 0,
  10. border: 0,
  11. padding: 0,
  12. overflow: 'scroll',
  13. direction: dir || 'ltr'
  14. })
  15. .appendTo('body');
  16. var innerEl = el.children();
  17. var width = el.width();
  18. var height = el.height();
  19. var offset = el.offset();
  20. var innerOffset = innerEl.offset();
  21. var girths = {
  22. left: innerOffset.left - offset.left,
  23. right: offset.left + width - innerOffset.left,
  24. top: innerOffset.top - offset.top,
  25. bottom: offset.top + height - innerOffset.top
  26. };
  27. el.remove();
  28. return girths;
  29. }
  30. function countHandlers(el) {
  31. var hash = getHandlerHash(el);
  32. var cnt = 0;
  33. $.each(hash, function(name, handlers) {
  34. cnt += handlers.length;
  35. });
  36. return cnt;
  37. }
  38. function getHandlerHash(el) {
  39. return $._data($(el)[0], 'events') || {};
  40. }