# Dom

在一些复杂交互下,不可避免的需要对 DOM 进行一些操作,如获取视口尺寸、文档尺寸,是否在视口中可见等,方法为 Dom 类的静态方法。

# 获取类

const { Dom } = bekit.helper;

# 静态方法

# Dom.createElement(tag[, options])

  • 参数:
    • {String} tag
    • {Object} [options] 支持原生 Dom 的属性
  • 返回值:{HTMLElement}
  • 详细:创建一个原生 Dom 元素

# Dom.getDoc()

  • 返回值:{HTMLElement}
  • 详细:获取页面根元素

# Dom.getViewPort()

  • 返回值:{Object}
    • {Number} width
    • {Number} height
  • 详细:获取视口尺寸

# Dom.getDocumentPort()

  • 返回值:{Object}
    • {Number} width
    • {Number} height
  • 详细:获取文档尺寸

# Dom.getScroll()

  • 返回值:{Object}
    • {Number} top
    • {Number} left
  • 详细:获取页面滚动条位置

# Dom.isTopped(selector)

  • 参数:
    • {String | HTMLElement} selector
  • 返回值:{boolean}
  • 详细:在页面滚动时,某个元素是否达到了页面最顶部,适用于某些元素在滚动到顶部的时候吸顶。

# Dom.isClient(selector)

  • 参数:
    • {String | HTMLElement} selector
  • 返回值:{boolean}
  • 详细:某个元素是否在页面中可见

# Dom.scrollTo(selector[, offset])

  • 参数:
    • {String | HTMLElement} selector
    • {Number} [offset] 默认值:-30
  • 返回值:{boolean}
  • 详细:滚动页面,使某个元素出现在页面的最顶部,一般用户填写表单的时候提示用户错误位置,并且可以使用 offset 微调位置。

# Dom.css(selector)

  • 参数:
    • {String | HTMLElement} selector
  • 返回值:{Object}
  • 详细:获取某个元素的 css 计算样式

# Dom.on(selector, type, handler[, options])

  • 参数:
    • {String | HTMLElement} selector
    • {String} type
    • {Function} handler
    • {Object} [options]
  • 详细:监听事件

# Dom.off(selector, type, handler)

  • 参数:
    • {String | HTMLElement} selector
    • {String} type
    • {Function} handler
  • 详细:解除监听事件

# 示例

const div = Dom.createElement('div', { class: 'test' });
Dom.scrollTo('#someId');
Dom.on(dom, 'click', handler);
Dom.off(dom, 'click', handler);
Last Updated: 2020/7/14上午6:17:38