DOM 工具
js-cool 提供了 DOM 操作工具。
事件
addEvent
添加事件监听器(跨浏览器兼容)。
js
import { addEvent } from 'js-cool'
const btn = document.getElementById('btn')
addEvent(btn, 'click', (e) => {
console.log('按钮被点击了!')
})removeEvent
移除事件监听器。
js
import { removeEvent } from 'js-cool'
const btn = document.getElementById('btn')
const handler = (e) => console.log('clicked')
addEvent(btn, 'click', handler)
// 之后...
removeEvent(btn, 'click', handler)事件控制
stopDefault
阻止默认事件行为。
js
import { stopDefault } from 'js-cool'
document.querySelector('form').addEventListener('submit', (e) => {
stopDefault(e)
console.log('表单提交已阻止')
})stopBubble
阻止事件冒泡。
js
import { stopBubble } from 'js-cool'
document.getElementById('child').addEventListener('click', (e) => {
stopBubble(e)
console.log('事件不会冒泡到父元素')
})剪贴板
copy
复制文本到剪贴板。
js
import { copy } from 'js-cool'
// 复制文本
copy('Hello World') // 成功返回 true
// 在按钮点击中复制
document.getElementById('copyBtn').addEventListener('click', () => {
const text = document.getElementById('content').textContent
if (copy(text)) {
alert('复制成功!')
}
})滚动
getScrollPosition
获取当前滚动位置。
js
import { getScrollPosition } from 'js-cool'
getScrollPosition()
// { x: 0, y: 100 }窗口
windowSize
获取窗口尺寸。
js
import { windowSize } from 'js-cool'
windowSize()
// { width: 1920, height: 1080 }暗黑模式
isDarkMode
检查是否启用了暗黑模式。
js
import { isDarkMode } from 'js-cool'
isDarkMode() // true 或 false浏览器检测
inBrowser
检查是否在浏览器环境中运行。
js
import { inBrowser } from 'js-cool'
inBrowser // true 或 falseinNodeJs
检查是否在 Node.js 环境中运行。
js
import { inNodeJs } from 'js-cool'
inNodeJs // true 或 false元素信息
isWindow
检查值是否为 window 对象。
js
import { isWindow } from 'js-cool'
isWindow(window) // true
isWindow(document) // false加载
preloader
预加载资源(图片、脚本等)。
js
import { preloader } from 'js-cool'
preloader([
'image1.jpg',
'image2.jpg',
'script.js'
])