js 的DOM基础

事件属性 charCode / keyCode

onkeydown: e.keyCode 有值
onkeyup: e.keyCode 有值
onkeypress: e.keyCode 为0
charCode是字符码
keyCode是机器码 不分大小写 因为大小写在键盘上是同一个按钮

阻止事件传播& 阻止默认event

通过e.stopPropagation() 阻止传播
通过 e.preventDefault 阻止原来的event

事件传播

  1. 事件捕获 addEventListener() 第三个参数是true代表捕获事件 false代表监听事件 2级事件 从外到内
  2. 事件冒泡 onclick 0级事件 从内到外
  3. 区别 : 方向不同 ; 0级会产生覆盖行为 2级不会产生覆盖 会将所有的事件都记录。
  4. 阻止时间传播 包括 冒泡和捕获 都可以用 e.stopPropagation()

事件委托

使用场景 不用会有那些缺陷

批量添加事件监听的问题如下:

  1. 新增元素必须分别添加时间监听,不能自动获取事件监听
  2. 大量事件监听,大量事件处理函数都会产生大量的内存消耗。

使用机制 必须用在可以冒泡的时间上, 核心是DOM可以获取触发此事件最早的元素

机制:利用事件冒泡机制,将后代元素事件未退给祖先事件
通过e.target获取触发此事件的最早元素。
e.currentTarget == this 事件处理程序需要附加到的元素。

注意事项 不能传递给不能冒泡的event

两个都是进入的鼠标事件:
document.onmouseenter 不冒泡 不能用事件委托
document.onmouseover 冒泡

note ! 不能在内层再添加内层元素了,否则最早触发的元素就变成添加的最内层的元素

 <ul>
        <li><span>新增的内层元素</span></li>
        <li><span>新增的内层元素</span></li>
        <li><span>新增的内层元素</span></li>
    </ul>

延时器 和定时器

定时器 时间是毫秒 循环执行
clearInterval 为了防止定时器叠加,可以在新建之前先清除定时器
setInterval可以传递多个参数,从第三个参数开始,这些参数都是需要传递给第一个函数的形参。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 《JavaScript DOM编程艺术》第二版是一本非常经典的前端开发书籍,由作者Jeremy Keith和Jeffrey Sambells合作编写而成。该书主要介绍了使用JavaScript和DOM技术进行网页开发的知识,涵盖了DOM操作、事件监听、表单验证、AJAX等内容。 本书首先讲解了DOM基础知识,包括节点、元素、属性、文本等概念,并介绍了通过JavaScript对DOM进行操作的方法。然后,通过实例讲解了如何根据用户的交互行为来实现动态效果,如当用户点击某个按钮时改变网页的背景色等。 此外,本书还介绍了如何利用AJAX技术进行异步数据交互,比如通过JavaScript动态加载内容等。同时,本书也提供了一些工具和技巧来提高网页的性能和用户体验,比如浏览器兼容性、缓存、图片优化等。 总之,《JavaScript DOM编程艺术》第二版是一本前端开发必读的书籍,可以帮助读者全面掌握JavaScript和DOM技术,在开发网页时提高效率和质量。而PDF版本的书籍更方便读者随时随地学习,建议前端开发人员可以认真阅读和应用到实践中。 ### 回答2: 《JavaScript DOM编程艺术第二版》是一本深入浅出的JavaScript和DOM编程入门书籍,适合初学者学习。 该书共有18章,从JavaScript基础语法和DOM结构开始讲起,一步步引导读者学习Javascript与DOM编程。其中介绍了文档对象模型(DOM)的概念、DOM节点、节点属性与操作等重要知识点,并通过实例和练习帮助读者更好地理解如何使用DOM进行网页设计和开发。此外,书中还介绍了如何使用JavaScript制作动态网页、表单验证、浏览器兼容性问题等实用的开发技巧,为读者提供了丰富的编程经验。 书中使用简洁易懂的语言,结合大量实例和练习,让读者可以快速掌握JavaScript与DOM的核心概念和编程技巧。作者还在书中提供了很多实战案例,让读者可以将所学的知识应用到实际开发中,并且让读者更好地理解如何进行项目开发。 总之,《JavaScript DOM编程艺术第二版》是一本不可多得的优秀JavaScript与DOM编程入门教材,读者只需要具备基本的JavaScript和HTML/CSS知识,即可轻松掌握书中内容,快速提高前端开发能力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值