适用于现代浏览器的小型、快速、模块化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中的一些迭代器方法签名是不同的(即非标准的),最显著的是eachfiltermapelement参数之前的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提供的真正的设备云。

许可证

麻省理工学院

jquery

Webpack 打包---流程和loader

Webpack 打包---流程和loader

Webpack 打包---流程和loader

Webpack 打包---流程和loader

JavaScript DOM总结(文档事件)