BOM DOM Event事件笔记....
js//获取文件标题
document.body //body
document.title //网页标题
document.doctype//文档对象
document.url//路径
//服务器相关
//align
document.domain//域名
//---操作文本节点---
//获取父节点
var arrayObj = document.getElementsByTagName('div');
for(var i = 0 in arrayObj){
alert(arrayObj[i].nodeType);
}
//创建文本节点
var text1 = document.createTextNode('这是');
var text2 = document.createTextNode('内容');
//--添加节点
arrayObj[0].appendChild(text1);
arrayObj[0].appendChild(text2);
//--合并文本节点
arrayObj[0].normalize();
//
//--拆分文本节点splitText(2)
//0-2不含2
//--删除节点内容childNodes.deleteData(0,2);
//
//--插入文本节点内容insertDate(0,'插入后')
//
//位置,替换量,'新的内容
//--替换文本内容replaceData(0,4,'0000')
//
//
//--截取substringData(位置,长度);
//
//.children忽略空白文本节点
//
//--滚动到指定位置scrollIntoView();
//--DOM操作表格
//--表格主体 table对象
//.tHead 头
//.tFoot 尾
//.tBodies[0];主体部分
//.tBodies[0].rows所有行
//.tBodies[0].rows[0].cells所有单元格
//.tBodies[0].rows[0].cells[0].innerHTML内容
//删除 表中元素操作
//deleteCaption();表名
//deleteTHead();表头
//deleteTFoot();表尾
//.tBodies.deleteRow(2);删除哪一行
//.tBodies.rows[0].deleteCell;s删除那行那个单元格
//--DOM操作CSS
//window.onload=function(){
//获取id
var divs = document.getElementById('')
//divs.style.color颜色
//style.backgroundColor
//浮动 .cssFloat属性
//--获取计算样式
//var obj = window.getComputedStyle(具体元素divs,伪类':hover')=计算后的样式表最终显示元素时
//IE中有另外一个样式 div.currentStyle
//兼容性问题
//var styleObj= window.getComputedStyle(具体元素divs,伪类':hover')?div.currentStyle:
//window.getComputedStyle ? window.getComputedStyle() : NUll || div.getComputedStyle;
//
//
//}
//修改ID改变css样式不建议
//两个类选择器css样式可同时起作用 可以叠加 样式冲突问题
//.className = 'class1 class2';
//.className = 'null';
//
//--操作外联样式link href = ".css"
//标签选择器 id选择器 类选择器
//body #id .class
//拿到link标签
// var linkarr = document.getElementsByTagName('link');
// linkarr.sheet; //IE :styleSheet 样式表对象
// document.styleSheet;//返回的文档的全部样式
var style2 = document.styleSheet[0];
style2.disabled = true;//禁用属性
styleSheet.title;//文档内嵌时给style添加属性
style2.cssRules[0];//css规则列表 chrome在服务器好使
style2.cssRules[0].cssText;//css文本字符串
style2.cssRules[0].selectorText;//获取选择器的名称,字符串
//IE拿到CSS规则列表
//style2.rules;
//插入样式CSS规则 完整的选择器 插入位置0
style2.insertRules('p{color:red;}',0);
//删除CSS规则 下标
style2.deleteRule(0);
//IE中可使用的 样式选择器名称 规则 位置
style2.addRule('p','background-color:red',0);
//IE删除CSS规则 位置
style2.removeRule(0).style
//选择器名称
//
//css内容溢出增加滚动条 overflow:sctoll
// 滚动条影响内容尺寸ClientWidth = 大小-滚动条宽度
//
//获取的是滚动内容的宽高 scrollWidth Height
//外边距不影响实际尺寸
//内边距影响实际尺寸
//--获取内容实际尺寸
//三种方法
//(1)offsetWidth Height
//(2)scrollWidth Height
//(3)ClientWidth Height
//
//--获取元素周边的距离
//offsetTop Left
//clientTop Left
//getBoundingClientRect()方法 返回对象是四个方向距离
//etBoundingClientRect().Top right left
body.scrollTop = scrollHeight
锚点
####封装跳到顶部
scrollTop=0;
var obj = document.getElementById("button-id");
var bodys = document.getElementById("body");
obj.addEventListener('click',toTop)
function toTop(){
if (bodys.scrollTop != 0) {
bodys.scrollTop = 0;
};
}
------------------------------事件-------------------------------
行内添加属性<input onclick = "function()">
外联的属性 .onclick = 函数不带括号
常用事件:
可以在客户端的事件 :鼠标事件 键盘事件 HTML事件
change文本框失去焦点 blur表单对像失去焦点 click点击 load加载
鼠标在元素上移动时onmousemove 改变窗口大小时onresize
双击ondblclick
事件详解:
(1)鼠标事件
onmousedown 鼠标按下 按下触发
onmouseup 鼠标抬起 抬起触发
onmouseOver 鼠标经过 一次经过触发
onmousemove 鼠标移动 鼠标移动触发
onmouseout 鼠标移出 移出触发
(2)键盘事件
不需要调用者
onkeydown 键盘按下 按下触发
onkeypress 键盘重按下 字符键触发
onkeyup 键盘抬起 抬起触发
(3)input事件
onselected 选中事件 文本选中后触发
onchange 文本改变 文本改变后触发
onfocus 获取焦点状态 在焦点状态时触发
onblur 失去焦点 失去焦点时触发 结束编辑后触发
(4)HTML事件
window.onload 加载文档
window.onunload
window.onresize 重新调整浏览器大小 开始结束调用两次
window.onscroll 滚动触发 chrome IE刷新调用 其他不会
(5)表单事件 借助于form
获取表单对象
提交属性 submit
重置属性 reset
form.onsubmit 提交事件 点击提交按钮触发
form.onreset 重置事件 重置按钮触发
事件对象
(1)鼠标对象
0 1 2 W3C
左 中 右按键
0 1 2 3 4 IE
空 左 右 左右一起 中键
//兼容性方法
//隐藏参数event就是事件对象例子:
function (event){
alert(event.button);// 0 1 2 3 4 值
var eve = event||window.evente;
//判断是否是W3C标准 或 IE标准
if (event){
return event.button;
}else if(window.event){
switch(){//IE转W3C
case 1: return 0;
case 4: return 1;
case 2: return 2;
}
}
}
调用
button.onclick = function (event){
}
(2)屏幕坐标
事件对象调用 隐藏对象 坐标属性
document.onclick = function (event){
event.clientXY//浏览器可视区域坐标
event.screenXY//显示器可视区域坐标
event.pageXY//浏览器内容区域坐标
}
对象添加监听器2016.8.24
----addEventListener('load',function(){
},false);是否冒泡
重复添加监听时候 要先remmoveEventListener
重复监听一个对象 相同函数执行一次
事件流机制 时间目标 触发单击事件对象
------IE监听器-------------------
IE 事件处理函数 IE8 不支持W3C的现代绑定方法(add,)
IE中 事件监听器 attachEvent('onload',函数)
detachEvent('onload',函数)
注意:
不能省略on
能事件覆盖 但有顺序倒序问题
IE中this传递不了事件对象
this==Window
解决获取事件对象 冒泡捕获
e = window.event;
e.scrElement = 事件目标==触发对象
e.scrElement.attachEvent
事件兼容 IE 与 W3C
function addEvent(obj,type,fn){
if(obj.addEventListener){
obj.addEventListener(type,fn,false);//W3C
}else if(obj.attachEvent){
obj.attachEvent('on'+type,fn);//IE
}
}
addEvent(window,'click',函数名);
//=================//=================//=================
表单处理
form获取
var fm = document.forms[0];
var fm = document.forms["yourForm"];
======禁止表单提交
需要获取form 表单
e.preventDefault()方法禁止
form.submit(); 提交 按钮上加事件调用方法
获取外联样式表的 getComputerStyle(div)["width"];只读 IE不支持
IE支持
function getStyle( obj,attr){
if(obj.getComputerStyle){
getComputerStyle(obj)[attr];
}else{
obj.currentStyle[attr];
}
}
============js动画 ===============================
(1)速度动画
实现: ./JS动画
============框架================
./JS动画框架
============链式动画============
分步骤动画
==============================
=============================jquery =========================
AngularJS框架 React框架 node.js
//css属性
$(#id).css("color","颜色");
//行内样式属性
$(#id).attr("style","color:red");
$(#id).attr("name","login");
//通配符*选择器
$("*").css("","")
//属性选择器
$("[name]").css();
//选中以 隐藏
$("[sec$='.jpg']").hide();
var div = document.getElementsByTagName('div')[0];
$("div")[0]
//组合选择器
$("p,li").html("...");
//关联选择器
$("p span").htnl("...");//间接关系可以
//父子选择器
$("div >span").html("...");//直接关系 间接不可以
//拿到下一个 标签选择器
$("p+li").css("...")
//拿到后面所有标签 选择器
$("p~li").css("...")) ;
//并且过滤选择器
$("li:first").css("...");最后一个
$("li:last").css("...");第一个
$("li:eq(3)").css("...");下标为3的li标签
$("li:gt(3)").css("...");大于下标 属性 不包括下标值
$("li:lt(3)").css("...");小于下标 不包括下标值
$("li:gt(0)":lt(3)).css("...");大于0小于3下标 包括小于lt的下标
$("li:even").css("...");//下标为偶数
$("li:odd").css("...");下标为奇数
//not(选择器)去除某个点
$("li:not(#div-id)").css("");
//内容过滤选择器
$("div:countains("123")").css("...");包含123的选择器
//获取空元素
$("div:empty").css("...");
//当前的li中是否含有p 拿到p
$("li:has(p)").css("...");
=========================可见性选择器=======
隐藏:style display:none;//位置也被隐藏
$("div:hidden").show("3000")选择到标签
visibility:hidden;图形隐藏
$("div:visible").css("...","...")选择到标签
input type="hidden" 隐藏
$("div:hidden").attr("type","button")属性显示
BOM DOM Event事件笔记....的更多相关文章
- 节点操作,节点属性的操作及DOM event事件
##1. 节点操作 createElement(标签名) 创建一个指定名称的元素 someone.appendChild(new_node) 追加一个子节点(作为最后的子节点) someone.ins ...
- JavaScript学习 - 基础(七) - DOM event(事件)
DOM event(事件) 定义事件: // 定义事件: //方式一,直接在标签上定义事件 // 方式二: var a11 = document.getElementsByName('a11')[0] ...
- [DOM Event Learning] Section 2 概念梳理 什么是事件 DOM Event
[DOM Event Learning] Section 2 概念梳理 什么是事件 DOM Event 事件 事件(Event)是用来通知代码,一些有趣的事情发生了. 每一个Event都会被一个E ...
- JavaScript BOM DOM 对象
title: JavaScript BOM DOM 对象 tags: JavaScript --- browser object model document onject model BOM对象 w ...
- javascript (BOM DOM)
BOM对象 window对象 所有浏览器都支持 window 对象.概念上讲.一个html文档对应一个window对象.功能上讲: 控制浏览器窗口的.使用上讲: window对象不需要创建对象,直接使 ...
- JavaScript 基础(四) - HTML DOM Event
HTML DOM Event(事件) HTML 4.0 的新特性之一是有能力使 HTML 事件触发浏览器中的动作(action),比如当用户点击某个 HTML 元素时启动一段 JavaScript.下 ...
- [DOM Event Learning] Section 4 事件分发和DOM事件流
[DOM Event Learning] Section 4 事件分发和DOM事件流 事件分发机制: event dispatch mechanism. 事件流(event flow)描述了事件对象在 ...
- JS学习笔记9之event事件及其他事件
-->鼠标事件-->event事件对象-->默认事件-->键盘事件(keyCode)-->拖拽效果 一.鼠标事件 onclick ---------------鼠标点击事 ...
- vue 笔记,ref 及 $event 事件对象
本文仅用作简单记录 ref : 在标签上添加 ref = “name” ,表示获取当前元素节点 <input type="text" ref="info" ...
随机推荐
- ztree-demo
<!DOCTYPE html><HTML><HEAD> <TITLE> ZTREE DEMO - Async</TITLE> <met ...
- 【webGl】threejs实现一个简单的动画-弹跳的小球
在这里,我们将动态画面简称为动画(animation).正如动画片的原理一样,动画的本质是利用了人眼的视觉暂留特性,快速地变换画面,从而产生物体在运动的假象.而对于Three.js程序而言,动画的实现 ...
- node10-mongoose
目录:node01-创建服务器 node02-util node03-events node04-buffer node05-fs node06-path node07-http node08-exp ...
- 为WAMP中的mysql设置密码(默认为空)
为WAMP中的mysql设置密码 WAMP安装好后,mysql密码是为空的,那么要如何修改呢?其实很简单,通过几条指令就行了,下面我就一步步来操作. 1.首先,通过WAMP打开mysql控制台. 提示 ...
- freemarker IllegalAccessError 错误
java.lang.IllegalAccessError: tried to access method freemarker.ext.servlet.AllHttpScopesHashModel.& ...
- git bash操作
1. GIT说明 1> git是分布式,或者说是去中心化的.表现为: 开发者的可以在本地使用git并完美的控制自己的版本,而无需与服务端交互: 开发者可以将本地库在某个服务端备份,这种情况类似S ...
- 【Java EE 学习 77 上】【数据采集系统第九天】【通过AOP实现日志管理】【通过Spring石英调度动态生成日志表】【日志分表和查询】
一.需求分析 日志数据在很多行业中都是非常敏感的数据,它们不能删除只能保存和查看,这样日志表就会越来越大,我们不可能永远让它无限制的增长下去,必须采取一种手段将数据分散开来.假设现在整个数据库需要保存 ...
- sql server 锁
锁模式 锁模式 说明 共享 (S) 用于不更改或不更新数据的读取操作,如 SELECT 语句. 更新 (U) 用于可更新的资源中. 防止当多个会话在读取.锁定以及随后可能进行的资源更新时发生常见形式 ...
- 谈谈SQL 语句的优化技术
https://blogs.msdn.microsoft.com/apgcdsd/2011/01/10/sql-1/ 一.引言 一个凸现在很多开发者或数据库管理员面前的问题是数据库系统的性能问题.性能 ...
- 【leetcode】Compare Version Numbers
题目描述: Compare two version numbers version1 and version2. If version1 > version2 return 1, if vers ...