DOM

1 简介
   dom就是html页面的模型,把每个标签都做为一个对象,通过js调用dom的属性和方法就可以编程控制网页中的各种元素。

  dom也有事件,属性和方法。dom中不仅标签是对象,标签的属性和文本都是对象。

 


2 事件
   dom中有很多事件,在标签中写onclick=“f1();”表示元素的单击事件响应程序调用了函数f1();

  onclick=f1 表示元素的单击事件响应程序是f1();

 


3 window对象
   window是dom的一个顶级对象,代表当前浏览器窗口,使用window对象的属性和方法时可以省略window。
   方法:
   alert():弹出警告对话框
   confirm():弹出确定,取消对话框,返回true或者false
   prompt():弹出输入窗口
   setinterval(指定的代码字符数,时间间隔):定时器(重复执行) 例如:setinterval(f1,1000)或者setinterval  (“f1()”,1000),例子的区别和事件的原理是一样的。
   clearinterval(定时器的id) 清空定时器 。clearInterval()取消setInterval的定时执行,clearInterval要指定清除那个定时器的标识,即setInterval的返回值。

   settimeout(指定的代码字符数,时间间隔):定时器(执行一次)
   cleartimeout 
   showModalDialog(页面地址,参数,窗口的设置):弹出模态对话框
   showModelessDialog(页面地址,参数,窗口的设置):弹出非模态窗口

    给对话框传递参数,使用showModalDialog的第二个参数传递参数,

    在对话框中用window.dialogArguments获得传递的参数值;

    对话框中给window.parent.returnValue设定返回值,

    这样在父窗口中就可以通过showModalDialog返回值读取设置的返回值了。

    传递多个参数,将参数包装到数组中,然后仍然是通过第二个参数传递,返回多个返回值也可以返回数组
    属性:
   location.href="":重新导航到新页面,可以取值,也可以赋值
   location.reload():刷新当前页
   event:altKey,bool类型,表示事件发生时是否按下了alt键;还有ctrlKey,shiftKey

      clientX,clientY发生事件时鼠标在客户区的坐标;

        screenX,screenY发生事件时鼠标在屏幕上的坐标;      

      offsetX、offsetY 发生事件时鼠标相对于事件源的坐标; 

      srcelement获得事件源的对象,

      button发生事件时鼠标按键
   clipboarddata:对粘贴板的操作,

      setdata(“text”,value)设置粘贴板的值。

      getdata(“text”)获取粘贴板 的值,

      cleardata(“text”)清空粘贴板。

      当复制的时候body的oncopy方法被触发,直接return false就是禁止复制。<body oncopy="alert('禁止复制!');return false;"


   history:back()后退,forward()前进,go(-1)后退,go(1)前进

  document:

    write();//向文档中写入内容。

        在onclick等事件中写的代码会冲掉页面中的内容,

        只有在页面加载过程中write才会与原有内容融合在一起。

        writeln()是在源代码里面换行。与<br/>不一样。

    getElementById(), (非常常用),根据元素的Id获得对象

    getElementsByName(),根据元素的name获得对象

    getElementsByTagName(),获得指定标签名称的元素数组

 

4 body、document对象

  事件:

    1、onload(页面加载后触发)

    2、onunload(页面卸载后触发)

    3、onbeforeunload(页面卸载前触发)

 

 

5 通用事件:

  1、onclick(单击)

  2、ondblclick(双击)

  3、onkeydown(按键按下)

  4、onkeypress(点击按键)

  5、onkeyup(按键释放)

  6、onmousedown(鼠标按下)

  7、onmousemove(鼠标移动)

  8、onmouseout(鼠标离开元素范围)

  9、onmouseover(鼠标移动到元素范围)

  10、onmouseup(鼠标按键释放)

  11、oncontextmenu(在浏览器中单击鼠标右键显示”右键菜单”时触发)

 

 


6 事件冒泡
   如果元素A嵌套在元素B中,那么A被点击不仅A的onclick事件会被触发,B的onclick也会被触发。触发的顺序是“由内 而外”  

   事件中的this。除了可以使用event.srcElement在事件响应函数中,this表示发生事件的控件。

  只有在事件响应函数才能使用this获得发生事件的控件,在事件响应函数调用的函数中不能使用(这里的this表示window对象),

  如果要使用则要将this传递给函数或者使用event.srcElement。

  (*)this和event.srcElement的语义是不一样的,this就是表示当前监听事件的这个对象,event.srcElement是引发事件的对象:事件冒泡。

 

 

7 form对象

  click(),focus(),blur();//相当于通过程序来触发元素的单击、获得焦点以及失去焦点的事件

  submit()提交表单,但是不会触发onsubmit事件

 


8 操作页面样式
   修改元素的样式不是设置class属性,而是className属性。单独修改样式的属性使用“style.属性名”。

 

 

10 正则表达式

  创建的方法:

    1.var regex = new RegExp("\\d{5}")

    2.var regex = / \d{5} /    /表达式/是JavaScript中专门为简化正则表达式编写而提供的语法,写在//中的正则表达式就不用管转义符了。

  RegExp对象的方法:

    1、test(str)判断字符串str是否匹配正则表达式,相当于IsMatch
      var regex = /.+@.+/;
      alert(regex.test("a@b.com"));
      alert(regex.test("ab.com"));
    2、exec(str)进行搜索匹配,返回值为匹配结果(*),相当于c#中match()和matches()
         如果 exec() 找到了匹配的文本,则返回一个结果数组(完全匹配的字符串以及提取组的结果。)。否则,返回 null。

        要提取多个需要反复调用exec()类似于matches()方法。//注意全局模式/…../g
        在非全局模式下,调用一次exec()相当于match();在全局模式下连续多次调用相当于matches()

posted @ 2012-04-15 16:56  褐色键盘  阅读(311)  评论(0)    收藏  举报