API是一种事先定义好的函数,用来提供应用程序与开发人员基于某软件或硬件得以访问的一组例程,而又无需访问源码,或理解内部工作机制的细节。
Web API接口:浏览器提供的一系列操作浏览器功能和页面元素的API(BOM和DOM)
DOM:(Document Object Model)文档对象模型。当网页被加载时,浏览器会创建文档对象模型。通过这个对象模型,JavaScript 获得创建动态 HTML 的所有力量:
严格的说,DOM并不是javascript,通常说用javascript来操控DOM。
节点(Node)是DOM中最小的组成单位,文档的树形结构(DOM树),就是由各种不同类型的节点组成。
父节点关系(parentNode):直接的那个上级节点
子节点关系(childNodes):直接的下级节点
同级节点关系(sibling):拥有同一个父节点的节点
常用的dom操作概括为:增、删、改、查、绑定事件、标签属性操作。
1、通过id属性查找
document.getElementById('id属性值');
2、通过name属性查找
document.getElementBysName('name属性值'); //返回值是一个类数组对象
3、通过标签名查找
document.getElementBysTagName('标签名'); //返回值是一个类数组对象
4、通过class属性查找
document.getElementBysClassName('class属性值'); //返回值是一个类数组对象
5、querySelector()、querySelectorAll()
document.querySelector('.class属性值');
document.querySelectorAll('.class属性值'); //返回值是一个类数组对象
代码示例:
事件是一种触发-响应机制,是用户发出一种行为浏览器通过感知用户行为而触发的一种程序机制。
事件三要素:
1、行内绑定:在浏HTML标签中绑定事件
//方法一:
<标签名 属性=属性值 on事件类型="事件处理程序">
//在这里"on事件类型"就相当于标签中属性
//方法二:
<标签名 属性=属性值 on事件类型="函数名()">
代码示例:
2、动态绑定:先获取标签,然后绑定事件
//方案一:拆分式
//函数处理机制
function 函数名(){
//函数体
}
//获取标签(有很多种方法,这里用id属性查找举例)
var 变量名=document.getElementById('id属性值');
//绑定事件
变量名.on事件类型=函数名();
//方案二:合并式
查找节点(标签).on事件类型=function(){
//函数处理程序
}
3、事件监听
//方案一:拆分式
//查找节点(标签)
var 变量名=document.getElementById('id属性值');
//绑定监听事件
变量名.addEventListener('事件类型',function(){
//事件处理程序
})
//方案二:合并式
查找节点(标签).addEventListener('事件类型',function(){
//事件处理程序
})
代码示例:
4、移除事件监听
查找节点(标签).removeEventListener('事件类型',函数名());
第一种 "HTML标签的on-属性",违反了HTML与JavaScript代码相分离的原则;处理函数中 this 指向的window对象;第二种 "Element节点的事件属性" 的缺点是,同一元素同一个事件只能定义一个监听函数,也就是说,如果定义两次onclick属性,后一次定义会覆盖前一次。但是处理函数中的 this 指向的选中的对象;第三种:addEventListener方法可以针对同一个元素的同一个事件,添加多个监听处理函数。处理函数中的 this 指向的也是选中的元素;
1、页面加载事件
2、焦点事件
3、鼠标事件
4、键盘事件
5、from表单事件
6、内容改变事件
当触发c方块的事件时,b和a的事件也随之触发,这种现象称为事件冒泡
当一个事件发生以后,它会在不同的DOM节点之间传播,而这种传播可以分为三个阶段:第一阶段:从window对象传导到目标节点,称为 捕获阶段。第二阶段:在目标节点上触发,称为 目标阶段。第三阶段:从目标节点传导回window对象,称为 冒泡阶段。
原生属性:HTML元素节点的标准属性
属性操作:
null。
null
。语法: 查找节点(标签).style.样式名称=值
昵称:
评论内容: