如果标签嵌套,无法在 Canvas 上选择
问题
葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome 126.0.6478.127(Windows) 可复制演示链接 https://jsfiddle.net/vbu18q5f/2/ 描述一下那个虫子 如何复现这个漏洞?如果标签嵌套,则无法在画布上选择 Demolink中的第2节块在section标签里面有div标签。 第2节 块无法在Canvas中选择部分标签,div标签被选中。 这带来了两个问题。选中了div标签,所以当你尝试删除画布上的方块时, 只有 div 标签会被删除,section 标签会保留。 你不能从画布中删除所有方块元素,所以要删除所有方块元素,必须在图层管理器中删除它 https://github.com/GrapesJS/grapesjs/assets/14024165/e0eceae0-2f92-490c-9164-12d13328a750 也许如果嵌套元素大小相同,只能点击子元素如果你尝试添加另一个方块,元素会被添加到 div 标签内。 https://github.com/GrapesJS/grapesjs/assets/14024165/91997107-603a-4677-98c0-3e972fd34296 预期的行为是什么?即使标签嵌套,也可以选择父元素块可以作为独立块添加,而不会无意中加入其他块内。你可...
回答(3)
@artf
抱歉,框架并不像你说的那样解决所有问题。 我以后会认真阅读文档。 谢谢你的回复。
这不是个bug,更像是与HTML整体工作方式相关的用户体验问题,这也是我们在工具栏里提供“选择父”按钮的确切原因。
不要指望框架能帮你解决所有问题,提供用户友好界面和更好的用户体验是开发者的责任,有很多[组件属性](https://grapesjs.com/docs/api/component.html#properties)可以帮上忙。
谢谢你举报,@ihatov08。 关于如果标签嵌套,无法在Canvas上选择,这个问题很棒。推荐的 Canvas 方法是使用事件驱动的 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log('something changed')); 组件生命周期 editor.on('component:mount', (c) => cons...
相关问答
通过相似的问题讨论继续研究。
问题 #5990
当你删除组件时,组件间的重复类也会被删除。
葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome 126.0.6478.127(Windows) 可复制演示链接 https://jsfiddle.net/t06s4oLb/8/ 描述一下那个虫子 如何复现这个漏洞?将第1节添加到画...
问题 #5141
组件在更新性状时重置属性值(仅首次)
葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome 版本 113.0.5672.63 可复制演示链接 https://jsfiddle.net/rajevar/zLs8q97f/4/ 描述一下那个虫子 这是针对这次讨论 https:/...
问题 #6332
IMG SRCset 404 导致无限请求循环
葡萄JS版本[X] 我确认使用最新版本的GrapesJS你用的是什么浏览器? Chrome v131可复制演示链接 https://jsfiddle.net/cmq9end2/1/描述一下那个虫子 如何复现这个漏洞?在 canvas 中添加一个 img,但 srcset 里的...
问题 #6663
符号在逐步加载页面时会断裂(实例丢失__symbol链接)
这里有一段展示这个bug的视频: https://github.com/user-attachments/assets/0fdc76ed-cee5-4481-98b1-cbbf52572b31 GrapesJS版本 [x] 我确认使用最新版本的GrapesJS 你用的是什么浏览...
与此问题匹配的付费插件
根据问题关键词和标签相关性精选,助你更快交付。
正在加载付费插件推荐……
相关教程
关于同一主题的深入指南。
教程
GrapesJS DevTools: A Developer Panel Inside Your Editor
If you've ever debugged GrapesJS with console.log(editor.getSelected()) and a dozen throwaway event listeners — this post is for you.
教程
How to Build a Production GrapesJS Editor: The Complete Walkthrough of Brief, Preset, Plugins, and Services
A complete walkthrough of building a production GrapesJS editor: how to choose a preset, pick plugins, and scope setup services without burning a sprint.
教程
Big Updates: TinyMCE 8 and Placeholder 2.0 for GrapesJS
In May we shipped major updates to two of our most popular GrapesJS plugins — TinyMCE Inline Text Editor and Placeholder.
浏览插件分类
直接跳转到市场上的插件分类页面。