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] + "
";

     alert("对象属性:
" + msg);
}
原文地址:https://www.cnblogs.com/tandaxia/p/4388860.html