StyleManager 事件每次变更都会多次触发
你好, 我也遇到了同样的问题,既然还没解决,可以用去反弹技术来解决。 请查看这个[example](https://davidwalsh.name/javascript-debounce-function)。
阅读下方完整回答 ↓问题
复制: 在全新安装的GrapesJS中,在演示页面(index.html内)添加一个事件监听器,如下: 'editor.on('component:styleUpdate:width', (model) => { console.log(模型); });问题: 当更改任何元素的“宽度”值时,“model”变量会被多次打印。 当监听“列表”属性,如字体家族、字体权重或显示时,问题似乎更为严重。例如: 'editor.on('component:styleUpdate:font-family', (model) => { console.log(模型); }); 对于这类属性,我注意到在编辑器刚加载时(在任何用户互动之前)事件会多次触发,值更改时也会多次触发。原因: 经过一些调查,我认为问题可能与在 GrapesJS 框架内多次设置属性值有关,以适应撤销管理器 [(Property.js:58)])(https://github.com/artf/grapesjs/blob/dev/src/stylemanager/model/Property.js#L58),尽管我仍无法确定根本原因或提供解决方案。症状: 因此,在某些情况下,开发者很难按预期使用StyleManager事件。例如,如果你想通过.previousAttributes属性监听值从哪里变更,会遇到困难,因为事件会多次触发...
回答(3)
你好,
我也遇到了同样的问题,既然还没解决,可以用去反弹技术来解决。
请查看这个[example](https://davidwalsh.name/javascript-debounce-function)。
你好,
我也遇到了这个问题。事件即使没有改变宽度,事件依然触发,我在HTML页面添加了以下代码,日志被多次生成。
'editor.on('component:styleUpdate:width', (model) => { console.log(“组件宽度更新:”,型号); });`
我录制了视频证明,链接如下
https://drive.google.com/file/d/1zoTUN-e400YDVPXt2DESAemSL6STh0TU/view?usp=sharing
我觉得修复已经在开发分支上发布了(所以已经准备好下一次发布了)。 https://github.com/artf/grapesjs/blob/0dba07fd21b8e2dd953100bec5b7531f0761c9c2/src/style_manager/view/PropertyView.js#L411-L413
我在当前的在线演示中看到多个事件,但在本地开发版上似乎没问题。如果你能通过本地开发分支确认,那就太好了。
相关问答
通过相似的问题讨论继续研究。
问题 #596
颜色选择器显示错误位置

问题 #2075
风格管理器滑块 最小值 bug bug
当我把滑块设为0(最小值)时,滑块返回-1值,这个style属性完全被忽略,因为它不是有效的CSS。例如,''border-width: -1px !important'' 我找到了为什么只发生最小值的代码。 在[样式管理器滑块查看代码](https://github.com/...
问题 #1615
支持远程存储上的编辑凭证请求属性
凭证选项在远程存储中被强制设置为“包含”。 https://github.com/artf/grapesjs/blob/master/src/storage_manager/model/RemoteStorage.js `
问题 #590
如何覆盖domain_abstract UI输入组件?
https://github.com/artf/grapesjs/blob/25fdbe14098c7e1a65d3e5527749302174f56a7d/src/domainabstract/ui/Input.js 我想更改输入类: https://github.com/a...
与此问题匹配的付费插件
根据问题关键词和标签相关性精选,助你更快交付。
正在加载付费插件推荐……
浏览插件分类
直接跳转到市场上的插件分类页面。