DOM操作
本话题发布DOM操作相关的问答文章和技术分享,将持续更新,为您推荐了18篇问答,访问即可查看更多精彩内容。
-
1
回答
23浏览
自定义事件在React中怎么触发和监听?
我在React里想用自定义事件实现父子组件通信,但试了几次都没反应,不知道是不是用法不对。 我用new CustomEvent创建了一个事件,在子组件里dispatchEvent,父组件用addEve...
前端 2026-03-31 09:18:16 -
2
回答
45浏览
ResizeObserver 监听元素尺寸变化不生效是怎么回事?
我用 ResizeObserver 监听一个 div 的尺寸变化,但怎么调整窗口大小都没触发回调,是我写错了吗? 元素是动态渲染的,我在 mounted 里初始化的 observer,代码大概这样: ...
前端 2026-03-27 10:41:18 -
1
回答
30浏览
localStorage 存对象为什么取出来变成字符串了?
我用 localStorage.setItem('user', {name: '小明', age: 18}) 存了个对象,结果下次读的时候发现拿到的是 "[object Object]",根本没法用。...
前端 2026-03-26 11:08:22 -
1
回答
20浏览
事件冒泡怎么阻止?点击子元素父级也触发了
我在写一个弹窗组件,点击关闭按钮的时候,不仅触发了按钮的关闭逻辑,还冒泡触发了弹窗外层的点击事件(会重新打开弹窗),这明显不对啊! 我试过在子元素的 onClick 里加 e.stopPropagat...
前端 2026-03-26 08:13:19 -
2
回答
23浏览
事件委托怎么绑定动态添加的按钮点击事件?
我用事件委托给 ul 绑定了点击事件,想监听里面动态生成的按钮,但点按钮没反应。 我试过把事件写在 document 上也不行,是不是哪里写错了? document.querySelector('ul...
前端 2026-03-23 15:53:19 -
1
回答
42浏览
localStorage 存对象为啥取出来变成字符串了?
我在用 localStorage 存一个用户对象,结果再取出来的时候发现它变成了字符串,直接访问属性就报错了。明明存的是对象啊,咋回事? 我试过这样存:localStorage.setItem('us...
前端 2026-03-18 08:48:22 -
2
回答
50浏览
事件冒泡怎么阻止不了?我用了 stopPropagation 还是触发了父级点击
我在做一个弹窗组件,点击按钮打开弹窗,然后点击弹窗外的遮罩层关闭。但问题是,点击按钮时,不仅触发了按钮的点击事件,还冒泡到了外层容器,导致弹窗刚打开就立刻关闭了。 我已经在按钮的点击回调里写了 e.s...
前端 2026-03-12 14:38:22 -
1
回答
35浏览
IntersectionObserver 在 Vue 中监听元素进入视口不生效?
我在 Vue 3 项目里用 IntersectionObserver 做懒加载,但回调一直没触发。页面滚动时完全没反应,控制台也没报错。我试过把 root 设为 null,threshold 改成 0...
前端 2026-03-11 14:43:20 -
1
回答
42浏览
IntersectionObserver 在 Vue 中不触发回调是为什么?
我在 Vue 里用 IntersectionObserver 监听一个元素是否进入视口,但回调一直没执行,不知道哪里出错了。 我已经确认元素确实滚动到了可视区域,也试过调整 threshold 和 r...
前端 2026-03-03 20:17:20 -
2
回答
34浏览
拖拽时 ondragover 事件不生效是怎么回事?
我在做一个简单的拖拽上传功能,但发现拖拽元素到目标区域时,ondragover 事件好像没触发,导致 drop 也无效。我明明加了 preventDefault,但还是不行。 这是我的 HTML 结构...
前端 2026-02-28 10:31:27 -
2
回答
51浏览
Vue中使用DocumentFragment优化DOM操作时为什么没有性能提升?
我在开发一个需要频繁渲染大量列表项的Vue组件时,尝试用DocumentFragment来优化DOM操作。按照文档写了个循环拼接节点的代码,但实际测试发现性能提升不明显,甚至比直接操作DOM还慢一点....
前端 2026-02-16 20:28:24 -
1
回答
41浏览
动态生成大量DOM元素时页面卡顿,如何优化?
我最近在做一个需要动态生成1000个带过渡效果的div的项目,用for循环拼接innerHTML时页面直接卡死了。改用文档碎片(documentFragment)后流畅度有提升,但滚动时依然卡顿。 尝...
前端 2026-02-15 21:19:24 -
2
回答
51浏览
拖拽元素时为什么位置会偏移?CSS定位设置没问题啊
我在实现拖拽排序功能时遇到问题,拖拽元素在放手后的位置总比拖动终点偏移约20px。我设置了.draggable { position: relative; cursor: move; },拖拽时用cl...
前端 2026-02-13 23:58:22 -
2
回答
29浏览
为什么用Clipboard API复制内容总是提示不允许?
我写了个按钮点击复制文本的功能,用navigator.clipboard.writeText(),但总弹出“不允许此操作”的提示。试过加clipboard-write权限到manifest.json,...
前端 2026-02-11 20:27:24 -
2
回答
39浏览
使用History API修改URL后页面刷新数据就丢失了怎么办?
我在做单页应用时用history.pushState修改了URL,但用户刷新页面后数据全没了,这该怎么解决? 比如点击按钮加载用户资料时: document.getElementById('...
前端 2026-02-11 11:11:26 -
2
回答
104浏览
为什么动态生成的元素用querySelectorAll找不到?
我在点击按钮时动态添加了一个带类名.dynamic的div,但立刻用document.querySelectorAll('.dynamic')查询却返回空列表。明明元素在DOM里显示出来了,这是怎么回...
前端 2026-02-01 08:40:35 -
2
回答
61浏览
为什么动态添加的列表项点击事件没反应?
我给ul绑定了点击事件想用事件委托,但动态追加的li点击没触发函数。静态生成的li能触发,新增的就不行,这是怎么回事? 代码是这样的: document.querySelector('ul').add...
前端 2026-01-31 09:23:27 -
2
回答
52浏览
IntersectionObserver在React组件卸载后还会触发回调怎么办?
最近用IntersectionObserver做图片懒加载,发现组件被滚动出屏幕销毁后,observer居然还在触发回调! 代码是这样写的,useEffect里创建了observer,但组件卸载时没清...
前端 2026-01-27 09:33:42