transitionend 触发多次
当监听 transitionend 事件时,transitionend 会在每个属性 transitioned 时触发,可以通过 event.originalEvent.propertyName 筛选,例如
dom.addEventListener('transitionend', function (e) {
if (e.originalEvent.propertyName == 'height'){ ... }
})
自定义 console.log
const log = console.log
console.log = function () {
...
log.apply(this, arguments)
}
过滤 window 属性
Object.keys(window).filter(n => !/^on/.test(n) && !/^webkit/.test(n) && !(n in document.createElement('div')))
dom.normalize
节点规范化时,调用 dom.normalize(),对当前节点及所有子树节点,执行移除空文本节点、合并相邻文本节点操作。
检查注册监听器是否支持 possive
let supportsPassive = false
const opts = Object.defineProperty({}, 'passive', {
get: function () {
supportsPassive = true
}
})
document.addEventListener('test', null, opts)
document.removeEventListener('test', null, opts)
chrome 分享
navigator.share(...)
更新于[2025-07-07]