JS DOM学习笔记
1、window对象代表当前浏览器窗口
2、使用window对象的属性、方法的时候可以省略window。例如:window.alert("hello")一般写成alert("hello"); window.document一般写成document
3、window.setInterval(method, delay);//每过delay毫秒就调用一次method函数,相当于是计时器
4、window.clearInterval(name); //取消计时器name
//setInterval(method, delay)函数和clearInterval(name)演示 //每隔一秒弹出“hello"
var timer = setInterval(function(){ alert("hello"); }, 1000); //调用closeTimer方法停止timer计时器
function closeTimer(){
clearInterval(timer);
}
5、setTimeout(method, delay); //deay毫秒之后执行method函数,和setInterval的区别是setTimeout只执行一次,setInterval可以不断的执行无数次
6、onload(页面加载后触发):网页加载完毕时触发,浏览器是一边下载文档、一边解析执行,可能会出现JavaScript执行时需要操作某个元素,这个元素还没有加载,如果这样就要把操作的代码放到body的onload事件中,或者可以把JavaScript放到元素之后。元素的onload事件是元素自己加载完毕时触发,body onload才是全部加载完成。
window.onload = function () { //...... } //动态注册事件,窗体加载完成后执行,和body onload效果差不多
7、window.控件Id(不建议使用),推荐document.getElementById("控件Id")来获取标签对象
8、事件:onclick(单击)、ondblclick(双击)、onkeydown(按键按下)、onkeypress(按下按键)、onkeyup(松开按键)、onmousedown(鼠标按下)、onmousemove(鼠标移动)、onmouseout(鼠标离开元素范围)、onmouseover(鼠标移动到元素范围)、onmouseup(鼠标按键释放)、oncontextmenu(在浏览器中单击鼠标右键显示‘右键菜单’时触发)
9、window.location对象: window.location.href = "*.html"; //重新导航到新页面,可以取值,也可以赋值
window.location.reload(); //刷新当前页
10、window.event是IE下非常重要的属性,用来获得发生事件时的信息,事件不局限于window对象的事件,所有元素的事件都可以通过event属性取得相关信息。
window.event.altKey属性:bool类型,表示事件发生时是否按下了alt键。类似的还有cltKey、shiftkey。
function TestClt(){
if (window.event.altKey){
alert("按下了alt键");
}
}
11、用document.createElement(name):创建标签。
var btn = document.createElement("input"); //创建一个input标签
btn.type = "button";//input标签类型为按钮
btn.value = "提交"; //设置按钮值
document.appendChild(btn); //将按钮添加到文档中
//js操作标签对象,给对象设置属性
var div1 = document.getElementById("div1");//获取一个标签对象
div1 .className = "bigDiv";//给标签设置类样式名
div1 .style.width = "200px";
div1 .style.height = "200px";//设置标签高度
div1 .style.backgroundColor = "red";//设置背景颜色
div1 .style.fontSize = "20px";//设置字体大小
div1 .style.marginTop = "10px";//设置上边距大小
div1 .onclick = function(){ //.... }//给标签设置单击事件
div1 .onmouseover = functioin () {} //给标签设置鼠标离开事件
div1.style.display = "block"; //设置显示
div1.style.top = "30px"; //设置顶部距离
div1.setAttribute("width", 100);//设置宽度 12、form表单onsubmit事件:在点击form表单提交按钮后,onsubmit事件会被触发,可以在onsubmit事件中进行一些数据校验,返回false可以取消提交
13、不同浏览器中对DOM支持的方法不一样
- 获取网页中那个元素触发了事件,在IE中使用srcElement; 在FireFox里使用target
- 使用Dom获取和更改网页标签元素内文本,在IE中使用innerText; 在FireFox里使用textContent
- 动态为网页或元素绑定事件,在IE中绑定事件的方法是attachEvent; 在FireFox中绑定事件的方法是addEventListener
- jQuery之类的框架进行了封装,解决了不同浏览器上Dom的不同
14、jQuery的ready和Dom的onload的区别:window.onload只能注册一次,是在所有的Dom元素创建完毕、图片、CSS都加载完毕后才被触发;而jQuery的ready则是在Dom元素创建完毕后被触发,这样可以提高网页的响应速度
15、js打印一个对象的所有属性:
//传入一个对象
function (swiper){
var msg = ""; for(var item in swiper) msg += item +" : "+swiper[item] + "\n"; alert("对象属性:\n" + msg);
}
JS DOM学习笔记的更多相关文章
- js再学习笔记
#js再学习笔记 ##基本 1.js严格区分大小写 2.js末尾的分号可加,也可不加 3.六种数据类型(使用typeof来检验数据的类型) `typeof` - undefined: `var ...
- JS数组学习笔记
原文:JS数组学习笔记 最近在备课数组,发现很多ES5的方法平时很少用到.细节比较多,自己做了大量例子和整理,希望对大家了解JavaScript中的Array有所帮助. 概念 数组是值的有序集合.每个 ...
- Knockout.js快速学习笔记
原创纯手写快速学习笔记(对官方文档的二手理解),更推荐有时间的话读官方文档 框架简介(Knockout版本:3.4.1 ) Knockout(以下简称KO)是一个MVVM(Model-View-Vie ...
- 两万字Vue.js基础学习笔记
Vue.js学习笔记 目录 Vue.js学习笔记 ES6语法 1.不一样的变量声明:const和let 2.模板字符串 3.箭头函数(Arrow Functions) 4. 函数的参数默认值 5.Sp ...
- 两万字Vue.js基础学习笔记(二)
Vue.js学习笔记(二) 4.模块化开发 ES6模块化的导入和导出 我们使用export指令导出了模块对外提供的接口,下面我们就可以通过import命令来加载对应的这个模块了 首先,我们需要在HTM ...
- handlebars.js基础学习笔记
最近在帮学校做个课程网站,就有人推荐用jquery+ajax+handlebars做网站前端,刚接触发现挺高大上的,于是就把一些基础学习笔记记录下来啦. 1.引用文件: jquery.js文件下载:h ...
- JS&ES6学习笔记(持续更新)
ES6学习笔记(2019.7.29) 目录 ES6学习笔记(2019.7.29) let和const let let 基本用法 let 不存在变量提升 暂时性死区 不允许重复声明 块级作用域 级作用域 ...
- Node.js API 学习笔记
常用 API 学习笔记 url 函数 url.parse: 解析 url 地址 url.resolve: 向 url 地址添加或替换字段 url.format: 生成 url 地址 querystri ...
- Js replace() 学习笔记
最近捣鼓着学习Js,发现replace()真的很有用,替换功能杠杠的棒. 接下来看看我遇到的问题: 有两个随机给出的字符串,字符串1'xxxxxx',字符串2'====T'(这两个用作示例,其他为随机 ...
随机推荐
- 关于DataTable的两篇基础文章
DataTable有的时候还是很有用的.记录两篇不错的文章,当字典 1.http://blog.csdn.net/imagse/article/details/3085870 2.https://ms ...
- nginx+uwsgi+django+celery+supervisord环境部署
前言 很久没更博客了,最近新写了一个小项目,后边有时间把一些心得放上来,先把环境的部署方式整理出来. 部署过程 先将环境的python升级为2.7 保证有pip 安装了nginx并配置 vim /Da ...
- Spring MVC 原理介绍(执行流程)
Spring MVC工作流程图 图一 图二 Spring工作流程描述 1. 用户向服务器发送请求,请求被Spring 前端控制Servelt DispatcherServle ...
- 【C#】递归搜索指定目录下的指定项目(文件或目录)
---------------更新:201411201121--------------- 主要更新说明:将原bool recurse参数改为int depth,这样可以指定递归深度,而不是笼统的是否 ...
- PHP表单数据写入MySQL代码
<h1>插入操作</h1> <?php if(!isset($_POST['submit'])){ //如果没有表单提交,显示一个表单 ?> <form ac ...
- 使用ActivityGroup类显示多个Activity
有些情况下需要把一个Activity分割成几部分,如上半部分绘制图形,下半部分显示图表,这时就需要用到ActivityGroup. 定义一个类继承自ActivityGroup,Java文件如下: pa ...
- Android使用SAX解析XML(5)
parse_handler.java文件: package com.hzhi.my_sax; import org.xml.sax.Attributes; import org.xml.sax.SAX ...
- Configure Amazon RDS mysql to store Chinese Characters
Configure Amazon RDS mysql to store Chinese Characters https://dev.mysql.com/doc/refman/5.7/en/chars ...
- win系统盘下面安装RedHat Linux6.2ES
安装中的流程和问题 1.安装准备 硬盘分区 下载rhel-server-6.2-i386-dvd.iso 接下来就是一些安装过程 2.安装教程有很多,可以结合参考: http://www.dedecm ...
- springmvc中RequestMapping的解析
在研究源码的时候,我们应该从最高层来看,所以我们先看这个接口的定义: package org.springframework.web.servlet; import javax.servlet.htt ...