事件随笔

这篇博客介绍了JavaScript中常见的键盘事件,如keydown、keypress和keyup,以及如何监听这些事件。同时,详细阐述了表单事件的使用,如focus、input、blur和change,展示了如何在输入元素上应用这些事件来实现交互效果和数据验证。

事件三要素

1、 事件源:绑定事件的节点

2、事件处理函数:当事件发生时,执行的代码(函数体)

3、事件类型:(单击,hover ,move等等)

书写格式:

元素节点.addEventListener(事件类型,事件处理函数,事件流)

// DOM2删除事件
// 书写格式:事件源.removeaddEventListener(事件类型,事件处理函数的名字 )
//  item.removeaddEventListener("click",事件处理函数 )
// item.removeaddEventListener("click",事件处理函数 )

列举常用的几个键盘事件:

// 键盘按下时
document.addEventListener("keydown",function(e){
    console.log(`按键盘${e.key}`);
})

// keypress只识别字符键(数字、字母、标点符号、回车)
document.addEventListener("keypress",function(){
    console.log("按键盘");
})

// 键盘抬起时
document.addEventListener("keyup",function(){
    console.log("抬起键盘");
})

列举几个常用的表单事件

let inputEle=document.querySelector("input");

// 焦点事件
inputEle.addEventListener("focus",function(e){
    e.target.style.outline="1px solid red";

});

// 输入事件
inputEle.addEventListener("input",function(e){
   let str=e.target.value;
  let re=/3/;
  if(re.test(str)){
      window.alert("buxushuru3");
  }
});

// 失去焦点
inputEle.addEventListener("blur",function(e){
    e.target.style.outline="";
});

// 内容发生变化时(失去焦点后内容是否发生变化)
inputEle.addEventListener("change",function(e){
    console.log("f70");
})

 

### Vivado 使用心得与技巧 #### 1. 功能仿真的设置 在进行前仿真(功能仿真)时,通常只需准备设计文件和测试文件即可完成验证工作[^1]。这种情况下,可以直接利用独立版本的 ModelSim 来执行仿真任务。然而,在后仿真阶段或者涉及复杂 IP 核的情况下,则建议通过 Vivado 调用外部工具如 ModelSim 完成联合调试。 #### 2. FIFO 的安全机制实现 对于双端口异步 FIFO 设计中的读空判断逻辑,需特别注意其安全性保障措施。为了确保不会因跨时钟域信号传递而导致误判现象发生,可采用如下方法: - 将写指针转化为格雷码形式后再同步至读时钟域下并与当前读指针对比; - 若两者数值一致则表明缓冲区已为空并触发相应标志位更新操作[^2]。 尽管在此过程中可能存在短暂延迟使得实际存储单元尚未完全耗尽便提前报告状态改变事件,但这并不会影响整体系统的稳定性——因为该策略有效避免了越界访问风险从而保护了数据完整性。 #### 3. Xilinx CORDIC IP Core 应用指南 当选用 Xilinx 提供的标准组件库构建特定算法模型时,了解各模块的具体配置选项及其适用场景至关重要。例如 Cordic V6.0 版本支持多种运算模式切换,并允许用户自定义输入输出精度规格以满足不同应用场景需求[^3]: - **输入格式**: IMAG(31:16), REAL(15:0); 数据范围限定于 [-1,+1]. - **输出格式**: PHASE(15:0); 结果覆盖角度区间 (-π, +π]. 以下是基于上述描述创建的一个简单 Python 函数用于演示如何计算给定坐标点对应的极角值: ```python import math def cordic_phase(x_real, x_imag): """Calculate phase angle using basic trigonometric functions.""" if (x_real == 0 and x_imag == 0): return None atan_val = math.atan2(x_imag , x_real ) # Convert radian to degree within range of -pi ~ pi result_degrees = ((atan_val * 180 / math.pi ) % 360 ) if(result_degrees > 180 ): result_degrees -= 360 return round((result_degrees*math.pi)/180 ,4) print(cordic_phase(-0.707,-0.707)) #-2.3562 radians approximately equals -135 degrees. ``` 此代码片段仅作为理论解释辅助材料展示目的而编写,并未直接关联任何硬件描述语言源程序开发流程。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值