事件对象之方法e.preventDefault()

事件对象3e: e.preventDefault():阻止某些事 ——表单、鼠标滚轮
鼠标滚轮事件:onmousewheel: e.deltaY

小例子:鼠标在盒子内部滚动时页面不滚动

在这里插入代码片
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>事件之方法e.preventDefault</title>
    <style>
        #box {
            width: 100px;
            height: 100px;
            margin: 100px;
            background-color: green;
        }

        body {
            height: 2000px;
        }
    </style>
</head>

<body>
    输入字母或数字:<input type="text">
    <div id="box"></div>
    <h1></h1>
</body>
<script>
    var oinput = document.querySelector('input')
    oinput.onkeypress = function (e) {
        if (!((e.keyCode >= 48 & e.keyCode <= 57) | (e.keyCode >= 97 & e.keyCode < 123))) {
            e.preventDefault();
        }
    }
    // 鼠标滚轮
    var obox = document.getElementById('box')
    var oh1 = document.querySelector('h1')
    var a = 0
    obox.onmousewheel = function (e) {
        // 在盒子内部滚的时候阻止页面滚动
        e.preventDefault()
        if (e.deltaY > 0) {
            a++
        } else {
            a--
        }
        oh1.innerText = a
    }
</script>

</html>
### STM32 上移植 LittleFS 文件系统的教程 #### 准备工作 为了成功地在STM32上移植LittleFS文件系统,需先准备好必要的开发环境。这包括但不限于安装适合的操作系统(如Ubuntu),以及下载并配置好相应的交叉编译工具链`arm-none-eabi-gcc`[^1]。 #### 创建项目框架 利用STM32CubeMX这样的图形化工具来创建一个新的工程项目,并确保选择了正确的微控制器型号。之后,在生成的代码基础上进一步集成LittleFS库及其依赖项。 #### 小文件系统 (LittleFS) 的配置 对于LittleFS而言,其核心在于定义一个名为`lfs_config`的数据结构实例,该结构体包含了操作函数指针一些重要的参数设定。具体来说: - **读写擦除接口**:这些是针对存储介质的具体实现方法; - **块大小与数量**:决定了整个文件系统的容量边界; - **缓冲区管理**:这里特别强调了静态分配方式下所需指定的三个缓存区域——用于读取、编程及预览操作的缓冲空间。 以下是具体的配置示例: ```c const struct lfs_config cfg = { // 存储设备操作函数 .read = lfs_deskio_read, .prog = lfs_deskio_prog, .erase = lfs_deskio_erase, .sync = lfs_deskio_sync, // 块设备配置参数 .read_size = 16, .prog_size = 16, .block_size = 4096, .block_count = 128, // 缓冲区大小 .cache_size = 16, .lookahead_size = 16, // 使用静态内存时必需设置的缓存变量 .read_buffer = read_buffer, .prog_buffer = prog_buffer, .lookahead_buffer= lookahead_buffer, }; ``` 上述代码片段展示了如何初始化`lfs_config`结构体成员,其中`.read_buffer`, `.prog_buffer`, `.lookahead_buffer`均指向预先声明好的全局数组或局部静态数组,以便于后续调用过程中能够直接访问所需的临时数据存储位置[^3]。 #### 初始化过程 完成以上准备工作后,则可以通过调用`lfs_format()`函数对目标分区执行格式化命令;接着再通过`lfs_mount(&lfs, &cfg)`挂载已格式化的卷至当前会话中,从而正式启用此文件系统服务。 #### 应用层交互逻辑设计 最后一步就是围绕着新引入的小型文件管理系统构建应用程序业务流程,比如文件创建/删除、目录遍历等功能模块的设计与编码实践。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值