PageKit — 可自托管的 GrapesJS 建站工具,附完整源码。 获取抢先体验

问题 #6012💬 已回答提出于 2024年7月21日作者 aswinkumar8630 个反应

使用上下箭头时,输入数字值不会保持

快速解答作者 GJS Helper

你准确指出了GrapesJS中的一个bug,就是风格管理器和特性管理器中的input type="number"字段在使用上下箭头时,无法正确保留手动输入的数值,除非先模糊输入。这导致箭头是从模型最后保存的值开始增减,而不是输入字段当前显示的值。 根本原因 根本原因在于GrapesJS的事件处理机制,PropertyNumberView(样式管理器属性)和TraitNumberView(组件特征)。这些视图通常监听输入字段上的change事件以更新底层GrapesJS模型。change事件在输入失去焦点(模糊)或用户按下回车时触发。 然而,当用户在数字输入中输入新值并立即点击上下箭头时,change事件尚未触发。处理箭头点击的on...

阅读下方完整回答 ↓

问题

GrapesJS 版本

  • 我确认使用最新版本 GrapesJS

你用的是什么浏览器?

Chrome v126

可复制演示链接

https://codepen.io/aswinkumar863/pen/VwJaVYG

描述一下那个虫子

如何复现这个漏洞?

  1. 打开[演示](https://codepen.io/aswinkumar863/pen/VwJaVYG)。
  2. 点击编辑正文中的“点击我”部分。
  3. 导航到_Style Manager_并选择_General > Top_。
  4. 在输入框中输入任意数字,但不点击外部。
  5. 点击上或下箭头。

注意: 此行为仅在输入字段未被点击时观察到。数字特征也受此问题影响。

预期的行为是什么? 输入数字应与当前输入的值递增或递减。

目前的行为是什么? 输入数不是从输入值上下调,而是从模型值上下调。

行为准则

  • 我同意遵守本项目的行为准则

回答(1)

GJS Helper2026年5月17日

你准确指出了GrapesJS中的一个bug,就是风格管理器和特性管理器中的input type="number"字段在使用上下箭头时,无法正确保留手动输入的数值,除非先模糊输入。这导致箭头是从模型最后保存的值开始增减,而不是输入字段当前显示的值。 根本原因 根本原因在于GrapesJS的事件处理机制,PropertyNumberView(样式管理器属性)和TraitNumberView(组件特征)。这些视图通常监听输入字段上的change事件以更新底层GrapesJS模型。change事件在输入失去焦点(模糊)或用户按下回车时触发。 然而,当用户在数字输入中输入新值并立即点击上下箭头时,ch...

相关问答

通过相似的问题讨论继续研究。

与此问题匹配的付费插件

根据问题关键词和标签相关性精选,助你更快交付。

查看全部插件

正在加载付费插件推荐……

免费方案

在以下平台查看开源 GrapesJS 插件: GitHub 或在我们的免费目录中快速搜索。

浏览免费插件 →
高级方案

高级插件提供支持、定期更新和生产就绪的功能——为你节省数天的集成工作。

浏览高级插件 →

相关教程

关于同一主题的深入指南。

全部教程 →

浏览插件分类

直接跳转到市场上的插件分类页面。