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. Sublime相关

    通过添加 Build System 的方式来使 Sublime Text 3 运行 JS.ES6: 参考文章:如何优雅地使用Sublime Text3 参考书目:<ES6标准入门>阮一峰 ...

  2. python 01

    注意Python 是大小写敏感的,即print 与Print 不一样 推荐编辑器 vim & sublime 如何运行 #!/usr/bin/python#Filename: hellowor ...

  3. iOS 开发之使用safari对webview进行调试

    转自:http://www.tuicool.com/articles/ZBFnUbz 使用safari对webview进行调试 时间 2016-02-25 14:35:20  陈斌彬的技术博客 原文  ...

  4. adeng朝花夕拾

    ============================C/C++基础拾遗===================================== 1.指针: 函数指针做函数参数 回调函数 语法现象 ...

  5. javascript事件之:谈谈自定义事件(转)

    http://www.cnblogs.com/pfzeng/p/4162951.html 对于JavaScript自定义事件,印象最深刻的是用jQuery在做图片懒加载的时候.给需要懒加载的图片定义一 ...

  6. iOS TextField用法大全

    //初始化textfield并设置位置及大小 UITextField *text = [[UITextField alloc]initWithFrame:CGRectMake(20, 20, 130, ...

  7. 【APP自动化测试】Monkey的测试原理和方法

    参考资料:http://blog.csdn.net/io_field/article/details/52189972 一.Monkey测试原理:Monkey是Android中的一个命令行工具,可以运 ...

  8. Python学习笔记之条件、循环和其他语句

    一.函数导入 1.为模块提供别名 >>> import math as foobar #设置math 别名为foobar >>> foobar.sqrt(4) 显示 ...

  9. HTML页面优化

    第一步:加载优化 减少HTTP请求. 因为手机浏览器同时响应请求为4个请求(Android支持4个,iOS 5后可支持6个),所以要尽量减少页面的请求数,首次加载同时请求数不能超过4个.a) 合并CS ...

  10. selenium移动div里面的滚动条,操作弹出对话框

    还是使用js来移动 首先要定位到这个元素 倾向于使用js来定位元素,输入下面的脚本,按下回车键,即可在调试页面看到对应的div块$("div.table-responsive") ...