js回顾2
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的更多相关文章
- js回顾
回顾 js 组成部分 ECMAScript BOM DOM 变量声明~~ var 变量名 = 初始化值: ...
- 前端学习(十四)js回顾和定时器(笔记)
回顾知识点: 作用域: 1.全局变量:在任何位置都可以使用的变量 2.局部变量:只能在函数内部使用的变量 3.闭包:子函数可以使用父函数的局部变量 -- ...
- js回顾(DOM中标签的CRUD,表格等)
01-DOM中的创建和添加标签 02-删除替换克隆标签 03-全选全不选反选 04-新闻字体 05-表格增删 06-动态生成表格 07-表格隔行变色 08-左到右右到左(将左边的标签移动到右边) 09 ...
- js 回顾知识总结一
1.js数据类型? 基本数据类型:String(字符串).boolean(布尔值).Number(数字).undefined(未定义).null(空) 引用数据类型:Object(对象).Array( ...
- js回顾1
1.正则:/^[0-9a-zZ-Z_]*&/ //匹配0到多个,+是1到多个,?0或多个,.任意值/^[0-9a-zZ-Z_]{6,}&/ //精确到至少6位\w查找单词字符检测:te ...
- js+dom开发第十六天
一.css常用标签及页面布局 1.常用标签 position(定位) z-index(定位多层顺序) background(背景) text-align(针对字符自动左右居中) margin(外边距) ...
- 实现一个类 RequireJS 的模块加载器 (二)
2017 新年好 ! 新年第一天对我来说真是悲伤 ,早上兴冲冲地爬起来背着书包跑去实验室,结果今天大家都休息 .回宿舍的时候发现书包湿了,原来盒子装的牛奶盖子松了,泼了一书包,电脑风扇口和USB口都进 ...
- Css、javascript、dom(二)
一.css常用标签及页面布局 1.常用标签 position(定位) z-index(定位多层顺序) background(背景) margin(外边距) padding(内边距) font-size ...
- 一文入门HTML5
1.HTML5 上节回顾:一文读懂ES6(附PY3对比) | 一文入门NodeJS 演示demo:https://github.com/lotapp/BaseCode/tree/master/java ...
随机推荐
- JavaScript 的 defer 与 async
当解析器遇到 script 标签时,文档的解析将停止,并立即下载并执行脚本,脚本执行完毕后将继续解析文档.但是我们可以将脚本标记为 defer,这样就不会停止文档解析,等到文档解析完成才执行脚本,也可 ...
- CSS 制作三角形原理剖析
使用css制作三角形其实原理很简单,下面一步步解析. 1.html代码如下 <div class="triangle"> </div> 2.CSS代码 .t ...
- road习题(二)
答案:[C] 解析:2 8 原则,考虑的是最高峰,所以安装12小时算 ,80%的 PV 也就是访问都是在 早上6点到下午6点这12个小时里,晚上6点到早上6点的PV总量是40000 ,服务器台数为3, ...
- php使用PDO连接mysql数据库
<?php $dsn='mysql:host=localhost;dbname=mssc'; $user='root'; $password=''; $status=1; try { $sql= ...
- stm32串口输出丢失第一个字符的问题及原因
因为TC和TXE 标志位在复位的时候会被置1,导致第一次没有发送. 所以在初始化串口的时候可以增加一句 USARTx->SR=0;(如 USART1->SR=0;)
- VS中Qt的探索02
边看C++ GUI QT4教程,边在VS2010中进行编程学习探索. 在使用Qt设计师时,其中每一个对象的ObjectName属性是非常重要的,在程序功能的实现过程中,需要不断的使用该变量名. 当所有 ...
- Nginx的第一个模块-HelloWorld
麻雀虽小,五脏俱全,小小的Hello World盛行于程序世界,就在于其代码虽短,但要真正运行起来,需要我们略通基本语法,稍懂编译运行环境,知晓操作过程,最后,还有一颗持之以恒,不怕折腾的心.前一阵子 ...
- Result Maps collection already contains value for
Result Maps collection already contains value for select s.id,s.branch_name from t_wx_shop s left jo ...
- swift_属性观察者
//: Playground - noun: a place where people can play import Cocoa var str = "Hello, playground& ...
- stopping NetworkManager daemon failed
1 初次安装NetworkManager时发现,无法将这个服务关闭 2 上网找了一圈,也没找到原因 3 重启服务器后就能正常关闭了 4 将该服务删除重装也能正常关闭 5 下回重装系统时再观察一下