拖拽占位符并不能计算正确的宽度。
说实话,我会保留“getElRect”原样,因为在这种情况下用“getComputedStyle”太贵了,而且函数本身是通用的(所以用“boundingRect.width = boundingRect.width - margin.left - margin.right”这样的功能就没意义)。 我很确定问题出在排序器里,计算元素维度的函数是['getDim'](https://github.com/artf/grapesjs/blob/57ce2aa3e169d7c91bd3f9ac76772ca6bc8cc538/src/utils/Sorter.js#L806)(那个很老的函数,我不指望有好逻辑),所以你应该从那里开始调查
阅读下方完整回答 ↓问题
嗨@artf,希望你今天过得愉快。 当方块被拖入可能有横边边界的容器时,拖拽占位符有个小问题,上下边缘或填充也可能发生,但我不能百分百确定。 <img width=“1107” alt=“image” src=“https://user-images.githubusercontent.com/1976679/76625994-9e803e00-6538-11ea-900e-fbbe3769cabe.png”> 原因是计算容器尺寸的函数 getBoundingClientRect 在某些情况下表现不规则,返回元素宽度却未考虑影响计算的某些属性。 有人之前遇到过类似的问题。 https://stackoverflow.com/questions/28966678/getboundingclientrect-returning-wrong-results 在这种情况下,我们需要稍微调整一下位于 mixins 文件中的 getElRect 函数。我觉得这样的方法会有帮助,虽然我还需要再努力一点才能让它更正确。 目前我没时间做拉取请求,我写作问题是为了记录,我会尽快深入研究。 如果你想复制这个问题,可以创建一个包含这些属性的容器组件 .container { 还有一个可以作为容器子组件的 我用的是最新版本(v0.16.2),也许我漏掉了什么,这很容易解决。 此致敬礼, 胡安
回答(3)
说实话,我会保留“getElRect”原样,因为在这种情况下用“getComputedStyle”太贵了,而且函数本身是通用的(所以用“boundingRect.width = boundingRect.width - margin.left - margin.right”这样的功能就没意义)。 我很确定问题出在排序器里,计算元素维度的函数是['getDim'](https://github.com/artf/grapesjs/blob/57ce2aa3e169d7c91bd3f9ac76772ca6bc8cc538/src/utils/Sorter.js#L806)(那个很老的函数,我不指...
我通过阅读“getDim”函数找到了“getElRect”,但我会再做一次研究,寻找其他解决方案。
谢谢!
你好,
对于未来的问题或技术问题(非漏洞),GitHub的[讨论](https://github.com/artf/grapesjs/discussions)标签是最佳选择。
如果问题已解决,请关闭,或在[讨论](https://github.com/artf/grapesjs/discussions)->[问答](https://github.com/artf/grapesjs/discussions/categories/q-a)类别写一条详细的新消息(并关闭本期)。
感谢你的理解。
相关问答
通过相似的问题讨论继续研究。
问题 #3309
TextNodes 在元素内容更改时会干扰
版本: 0.16.44 你好@artf 我有一个自定义方块,带有自定义按钮组件,内容和这个类似。 ` <a data-gjs-type=“custom_button” class=“btn btn-1” href=“”>Click here</a>' 此外,我添加了一个文本特性...
问题 #3002
BUG:如果初始化时样式管理器面板未激活,CSS 属性不会正确加载
嗨,@artf! 让我来描述一下问题 版本: 16.22 预期的行为是什么? CSS 属性值和可见性设置应采用正确的配置 详细描述那个漏洞 如果在编辑器加载时样式管理器未激活,点击元素并打开样式属性时,它们不会被更新。 繁衍步骤 1 - 让样式管理器面板视图默认不激活 2 -...
问题 #3250
问题:图层标签
@artf我很喜欢和GJS合作。我还有最后一件事希望你能帮忙。 如果能在图层管理器中自定义标签会非常有帮助。我到处找过,但都没找到。 默认显示“文本”和“框”的方式,对于想要高效导航来说帮助不大。 <img width=“204” alt=“截图 2021-01-28 07 2...
问题 #2129
如何在默认模态中添加按钮并捕捉其点击事件
我想要一个模态内的表单(使用默认模态),点击提交按钮后发动AJAX调用。 我创建了一个新组件,可以拖拽时弹出一个模态。我能够将表格插入模态中 它看起来像这样: <img width=“1001” alt=“截图 2019-07-11 上午10:22” src=“https://...
与此问题匹配的付费插件
根据问题关键词和标签相关性精选,助你更快交付。
正在加载付费插件推荐……
浏览插件分类
直接跳转到市场上的插件分类页面。