适用于现代浏览器的小型、快速、模块化DOM和事件库。
Posted
tags:
中文标题:适用于现代浏览器的小型、快速、模块化DOM和事件库。 原文标题:Small, fast, and modular DOM and event library for modern browsers. 项目评级:Star:764 Fork:46 下载地址:https://github.com/webpro/DOMtastic 详情介绍DOMtastic公司
快速链接
用法
ES6(例如Babel)
CommonJS(例如Browserify)
AMD公司
浏览器全局
ES6级
阅读baseClass文章或文档中的更多内容。
API
大堆
every
filter
forEach (alias: each)
indexOf
map
pop
push
reduce
reduceRight
reverse
shift
some
unshift
CSS格式
css
多姆
after
append
before
clone
prepend
DOM/属性
attr
removeAttr
DOM/类
addClass
hasClass
removeClass
toggleClass
DOM/包含
contains
DOM/数据
data
prop
DOM/额外
appendTo
empty
remove
replaceWith
text
val
DOM/html
html
事件
on (alias: bind)
off (alias: unbind)
one
活动/准备就绪
ready
事件/触发器
trigger
triggerHandler
无冲突
noConflict
选择器
$
find
matches
选择器/最近
closest
选择器/额外
children
concat
contents
eq
first
get
parent
siblings
slice
类型
isArray
isFunction
乌蒂尔
extend
但它甚至没有最令人敬畏的方法!
正如简介中提到的,DOMtastic没有Ajax、Animation、Promise等的方法。请根据需要找到自己的库来填补空白。以下只是一些例子:
请注意,您可以像jQuery插件一样扩展$.fn
对象。
如果您觉得缺少一个重要的方法,请随时打开问题。
浏览器支持
Chrome、Firefox、Safari、Opera、Android、Chrome Mobile iOS和Mobile Safari的最新版本。Internet Explorer 10及以上版本。对于classList
,IE9需要一个polyfill。
表演
运行基准测试套件来比较jQuery、Zepto和DOMtastic的各种方法的性能(tl/dr;它很快!)。
自定义生成
您可以构建一个自定义捆绑包,排除您不需要的特定模块:
或者,您可以反其道而行之,包含您需要的内容:
在dist/
文件夹中查找输出。
jQuery兼容性
jQuery中的一些迭代器方法签名是不同的(即非标准的),最显著的是each
、filter
和map
中element
参数之前的index
。但是,可以使用--jquery-compat
标志创建与jQuery兼容的自定义构建:
为应用程序构建自定义API
您还可以从头开始构建自定义API。默认情况下,DOMtastic会为您做这件事,但您可以通过高度定制的方法轻松地自己做。从selector
中抓取$
函数,并使用特定模块的方法扩展$.fn
对象:
这样,您就没有了定制包中UMD样板文件的轻微开销,也没有了为应用程序定义API的单一位置/模块。适用于AMD或Browserify。
测验
在浏览器中运行托管测试套件。您也可以克隆此repo,并使用jsdom在本地运行测试(使用npm test
)。运行npm run test:bs
,使用BrowserStack在真实浏览器中运行测试。
信用
非常感谢这些灵感来源:
感谢jsDelivr开源CDN托管DOMtastic。
感谢BrowserStack提供的真正的设备云。
许可证
麻省理工学院