在预览中禁用拖放功能
问题
葡萄JS版本
- 我确认使用最新版本的GrapesJS
你用的是什么浏览器?
第95卷
可复制演示链接
https://codesandbox.io/s/grapes-border-issue-forked-2c0ib?file=/src/index.js:10258-10261
描述一下那个虫子
如何复现这个漏洞? 我正在尝试创建一个自定义组件,包含拖拽端放功能, 由于修复了#2904,可拖拽属性被完全关闭。
预期的行为是什么? 使得有意拖拽的自定义组件可以作为预览
目前的行为是什么? 目前预览版中所有可拖拽事件均被禁用
我也愿意先做个PR,我想先讨论一下解决这个问题的最佳方式, 或者这可能是项目的设计决定。
行为准则
- 我同意遵守本项目的行为准则
回答(4)
@xQwexx你好,在这种情况下你会怎么解决?我们还是需要在预览版中保持D&D的关闭。 你能不能也发布你的组件代码,以便更好地理解使用场景?
由于我们请求原作者提供更多信息未获回应,本期已自动关闭。仅凭当前期刊中的信息,我们没有足够的信息采取行动。如果您有答案或找到我们需要的答案,请随时联系我们,以便我们进一步调查。
你好@artf我更新了一个演示,我的建议是使用'attributes: { draggable: 'true'}',在预览中指示组件是否可拖曳,组件模板的拖拽处理保持如' attributes: { draggable: 'true', ondrop: 'drop(event)', ondragover: 'allowDrop(event)'}' 我现在不太确定具体怎么处理, 但如果没有这个属性,我会把可拖拽的 html 标签改为 false,当我们切换到预览时。
谢谢你举报,@xQwexx。 关于在预览中禁用拖放的建议很棒!虽然这个具体功能还没有出现在核心 API 中,但有几种方法可以实现类似的行为。 使用事件系统: “JavaScript editor.on('component:update', (component) => { 你的逻辑 }); ``` 替代方法: 听取“selector:add”以获取CSS选择器更改 使用“selector:custom”来表示自定义规则 利用“change:*”事件进行细致跟踪 构建一个插件,扩展编辑器并具备此功能 正式宣布: 如果此功能能惠及更多用户,考虑在 GrapesJS 仓库上正式开启功能请求,内容...
相关问答
通过相似的问题讨论继续研究。
问题 #4654
文本节点自定义组件,包含特殊字符
葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome v105 可复制演示链接 https://codesandbox.io/s/fancy-brook-ppyc8v?file=/index.js 描述一下那个虫子 背景: 我正在尝试配...
问题 #6651
将可文本组件移动到文本时,可丢弃功能被忽略
GrapesJS版本 [x] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome 142.0.7444.61 可复制演示链接 https://codepen.io/DavidHarvey-the-lessful/pen/ZYWeMbG 描述一下那个虫子 当...
问题 #6603
属性值中不逃避 & 符号
GrapesJS版本 [x] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome v142.0.7392.0 (canary) 可复制演示链接 https://jsfiddle.net/xce183nm/1/ 描述一下那个虫子 如何复现这个漏洞? 创建一个...
问题 #6032
图像分量支持通过拖放上传和选择视频文件
葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome v126 可复制演示链接 https://grapesjs.com/demo 描述一下那个虫子 如何复现这个漏洞?打开[演示](https://grapesjs.com/demo)双...
与此问题匹配的付费插件
根据问题关键词和标签相关性精选,助你更快交付。
正在加载付费插件推荐……
相关教程
关于同一主题的深入指南。
教程
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.
浏览插件分类
直接跳转到市场上的插件分类页面。