javascript - 反应:将按下的鼠标移动到 2D 网格上方时出现错误
问题描述
我正在做一个反应项目,我需要一个网格。我用数组创建了它。一行由 10 个单元格组成,一个网格由 10 行组成。我需要处理单元格上的 3 个鼠标事件,因为稍后我需要为它们着色。MouseUp、MouseEnter 和 MouseDown。只有当 mouseDown 发生时才应处理鼠标进入功能(在网格上移动按下的鼠标 - 用 1 个动作为多个单元格着色)在实现它们之后,我意识到有一个错误,当鼠标按下时发生,然后从一排拉到另一排。
为了简化和产生问题,只有 2 行就足够了(不需要事件处理,只需为单元格指定宽度和高度以形成网格)。如果我进行垂直移动(两行中的任何位置),以下垂直移动将引发光标阻塞问题。我查看了互联网上的几个简单反应游戏,它们都产生相同的问题。使用空网格,未安装任何鼠标事件。
我想问题是行刷新的方式。有什么解决方案可以摆脱这个烦人的光标错误/行刷新问题,还是与反应状态有关?
解决方案
解决方案是在单元格上为 mouseDown 事件添加 preventDefault 处理。
return (
<div
className="cell"
onMouseDown={(e) => {
e.preventDefault();
}}
>
{" "}
</div>
);
推荐阅读
- jquery - 如何使用数据表插件按日期(从最旧到最新)排序列
- php - 使用另一个数组创建新的唯一数组
- ionic-framework - 离子存储:奇怪的行为?
- ruby-on-rails - Rails 应用模型中的 ModelName.real
- visual-studio-2015 - 在您的 SSDT 数据库项目中混合服务器数据库和本地数据库
- excel - 添加工作表后,VBA Excel 代码停止执行
- html - 是否允许在单独的影子根中使用重复的 ID?
- php - 从 WooCommerce 结帐中的自定义数据库表中获取选择字段选项
- c++ - 我想编写一个代码来分隔 C++ 中数字中各个数字的值。例如:12345 = 1+2+3+4+5
- maven - 只清理和安装修改过的模块