1:事件流:一个事件发生时按一个方向传播 eg:a标签->html
冒泡:从里到外(一般的选择)-----IE只有冒泡
捕获:从外到里-----网景只有捕获(已经不存在了)

2、事件处理的两种种方式:
(1)DOM0(传统事件):
优点:兼容所有浏览器
缺点:不能够添加多个方法,后面的方法会覆盖前面的方法
(2)DOM2:
优点:可以添加多个方法
缺点:不能兼容所有浏览器:
现代浏览器: p.addEventListener("click",function(){ }),true);//第三个true可以不写
IE浏览器: p.attchEvent("onclick",function(){ })

3、clientX和clientY鼠标的位置

4、阻止冒泡:e.stopPropagation()----现代浏览器
e.cancelBubble=true;----IE浏览器

5、阻止默认事件的发生:
e.preventDefault();---- 现代浏览器
e.returnValue=false;-----IE浏览器

6、DOM实现增、删、改、查(是w3c制定的规范,从DOM1开始):文档对象模型
获取节点:var body=documet.body;
var d1=document.getElementById("d1");
var ps=document.getElementsTagName("p");

7、访问属性:var attr=ps.attributes;
attr["id"].nodeType;//属性节点
ps.id;//访问属性
ps.getAttribute("id");//访问属性
ps[0].firstChild.nodeType;//文本节点
body.nodeType.//元素节点 nodeType为数字
d1.firstChild.nextSibling.previousSibling;

8.增加节点:方法一:
a、获取父节点id: var div=document.getElementById("div");
b、创建节点:var p1=createElement("p");
c、创建文本:var text=createTextNode("段落");
d、节点加进去:p1.appendChild(text);
1)div.appenChild(p1);//后面增加
2)var d1=document.getElementById("d1");
div.insertBefore(p,div)//前面增加
方法二; var div=document.getElementById("div");
div.innerHTML+="<p>啦啦啦啦</p>"

<table id=table></table>//ie不支持添加表格
var table=document.getElementById("table");
table.

9.删除节点:removeChild()
10.替换节点:replaceChild()
11.表单的提交:
<form id="regForm"></form>
var fm = document.getElementById("regForm");

方法一:fm.submit();
方法二:regForm.onsubmit = function(e){
// e = window.event || e;
// alert("表单提交");
// if(e.preventDefault){
// e.preventDefault();
// }else{
// e.returnValue = false;
// }

js回顾2的更多相关文章

  1. js回顾

    回顾   js 组成部分       ECMAScript       BOM       DOM                        变量声明~~  var  变量名 =  初始化值:   ...

  2. 前端学习(十四)js回顾和定时器(笔记)

    回顾知识点:    作用域:        1.全局变量:在任何位置都可以使用的变量        2.局部变量:只能在函数内部使用的变量        3.闭包:子函数可以使用父函数的局部变量 -- ...

  3. js回顾(DOM中标签的CRUD,表格等)

    01-DOM中的创建和添加标签 02-删除替换克隆标签 03-全选全不选反选 04-新闻字体 05-表格增删 06-动态生成表格 07-表格隔行变色 08-左到右右到左(将左边的标签移动到右边) 09 ...

  4. js 回顾知识总结一

    1.js数据类型? 基本数据类型:String(字符串).boolean(布尔值).Number(数字).undefined(未定义).null(空) 引用数据类型:Object(对象).Array( ...

  5. js回顾1

    1.正则:/^[0-9a-zZ-Z_]*&/ //匹配0到多个,+是1到多个,?0或多个,.任意值/^[0-9a-zZ-Z_]{6,}&/ //精确到至少6位\w查找单词字符检测:te ...

  6. js+dom开发第十六天

    一.css常用标签及页面布局 1.常用标签 position(定位) z-index(定位多层顺序) background(背景) text-align(针对字符自动左右居中) margin(外边距) ...

  7. 实现一个类 RequireJS 的模块加载器 (二)

    2017 新年好 ! 新年第一天对我来说真是悲伤 ,早上兴冲冲地爬起来背着书包跑去实验室,结果今天大家都休息 .回宿舍的时候发现书包湿了,原来盒子装的牛奶盖子松了,泼了一书包,电脑风扇口和USB口都进 ...

  8. Css、javascript、dom(二)

    一.css常用标签及页面布局 1.常用标签 position(定位) z-index(定位多层顺序) background(背景) margin(外边距) padding(内边距) font-size ...

  9. 一文入门HTML5

    1.HTML5 上节回顾:一文读懂ES6(附PY3对比) | 一文入门NodeJS 演示demo:https://github.com/lotapp/BaseCode/tree/master/java ...

随机推荐

  1. ios framework 分离与合并多种CPU架构,分离与合并模拟器与真机

    ios  framework 分离与合并多种CPU架构,分离与合并模拟器与真机 如果你所用的framework支持真机和模拟器多种CPU架构,而你需要的是其中的一种或几种,那么可以可以从framewo ...

  2. Markdown中插入数学公式的方法

    Markdown中插入数学公式的方法 文章来源:http://blog.csdn.net/xiahouzuoxin/article/details/26478179 自从使用Markdown以来,就开 ...

  3. [linux] 指令记录

    1> 查看linux版本号 lsb_release -a cat /etc/redhat-release

  4. PHP设计模式

    设计模式总的分为三种,创建型模式.结构性模式.行为型模式 1.创建型模式 创建型模式为根据实际情况来创建对象,创建的模式又分为对象创建模式和类创建模式,对象创建模式会把对象创建的一部分在另一个对象中实 ...

  5. Qt编程'""hello world

    #include<QApplication>#include<QLabel>int main(int argc,char*argv[]){QApplicatin app(arg ...

  6. 跨站请求伪造 CSRF / XSRF<二:应用>

    防御的方法主要有两种<java示例> 1.检查Referer字段 HTTP头中有一个Referer字段,这个字段用以标明请求来源于哪个地址.在处理敏感数据请求时,通常来说,Referer字 ...

  7. (十八)WireShark 过滤语法

    1.过滤IP,如来源IP或者目标IP等于某个IP例子:ip.src eq 192.168.1.107 or ip.dst eq 192.168.1.107或者ip.addr eq 192.168.1. ...

  8. 关于malloc的一些想法

    之前一段时间翻阅过一些内存分配的资料,这次终于能将其整理记录下来了. c标准库里有两个耳熟能详的函数,用于对堆空间的内存进行分配和释放,它们分别是: malloc.负责分配一个指定大小的一块内存给调用 ...

  9. IP首部校验和的计算

    ip抓包结果:0000: 00 e0 0f 7d 1e ba 00 13 8f 54 3b 70 08 00 45 00 0010: 00 2e be 55 00 00 7a 11 51 ac de ...

  10. ireport5.6+jasperreport6.3开发(四)--以javabean为基准的报表开发(ireport)

    javabean完成以后就是添加ireport的报表了 打开ireport的option然后在classpath中添加路径. 然后在ireport中追加数据源如图,点击图标后会出现数据源列表然后按ne ...