码迷,mamicode.com
首页 > 其他好文 > 详细

事件基础(一)

时间:2015-04-16 19:36:28      阅读:130      评论:0      收藏:0      [点我收藏+]

标签:

1. 什么是事件对象
2. document对象范围  document是整个页面。但是body仅仅指的是部分,当没设置body的内容的时,里面的内容为空。

 

1 window.onload=function(){
2    document.body.onclick=function ()
3     {
4     alert(a);
5     };
6 }
//////////////////////
  document.body.onclick=function ()
    {
    alert(‘a‘);
    };
单独使用这个代码没用window.onload=function(){}时,是没有用的,因为document没有加载完,是获取不到body这个标签的哦。

这样是不能弹出 a 的;

1 document.onclick=function ()
2 {
3     alert(a);
4 };

这样点击时才能弹出 a 

document 是最顶层的虚拟的父节点,我们可以通过document来找到下面所有的东西。连html也是包含在document里面。

 

3. event事件对象、clientX、clientY

  获取鼠标坐标。函数可以传参数

4. 事件对象的兼容性问题及解决方案

  if else 是通用的解决方案,|| 也是一个常用的解决方法。

 1 document.onclick=function (ev)
 2 {
 3     var oEvent=ev||event;//Ie 下和FF下的兼容性问题
 4     
 5     alert(oEvent.clientX+, +oEvent.clientY);
 6     //IE
 7     //alert(event.clientX+‘, ‘+event.clientY);
 8     
 9     //FF
10     //alert(ev.clientX+‘, ‘+ev.clientY);
11     
12     /*if(ev)
13     {
14         alert(ev.clientX+‘, ‘+ev.clientY);
15     }
16     else
17     {
18         alert(event.clientX+‘, ‘+event.clientY);
19     }*/
20 };

或 的另外一种方法,当 || 一边是真一边是假的时候,他会给你返回那个属于真的。当||两边都是真的时候,他会按先后顺序返回,他先碰到谁,就返回谁。

var a=12||abc;

alert(a);
//返回12;


var a=abc||12;

alert(a);
//返回 abc

var a=‘‘||12;

alert(a);
//返回12

5. 事件冒泡原理

  子类执行完事件之后,会不断的往父级传递。(例如:老师请学生来办公室,然后请家长来)

技术分享

1 <body onclick="alert(‘body‘);">
2 <div style="width:300px; height:300px; background:red;" onclick="alert(this.style.background);">
3     <div style="width:200px; height:200px; background:green;" onclick="alert(this.style.background);">
4         <div style="width:100px; height:100px; background:#CCC;" onclick="alert(this.style.background);">
5         </div>
6     </div>
7 </div>
 1 window.onload=function ()
 2 {
 3     var oBtn=document.getElementById(btn1);
 4     var oDiv=document.getElementById(div1);
 5     
 6     oBtn.onclick=function (ev)
 7     {
 8         var oEvent=ev||event;
 9         oDiv.style.display=block;
10         //alert(‘按钮被点了‘);
11         
12         //oEvent.cancelBubble=true;//取消冒泡
13     };
14     
15     document.onclick=function ()
16     {
17         oDiv.style.display=none;
18         //alert(‘页面被点了‘);
19     };
20 };

6. 取消事件冒泡:cancelBubble、弹出层实例

oEvent.cancelBubble=true;//取消冒泡

7. 跟随鼠标的DIV实例

 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 2 <html xmlns="http://www.w3.org/1999/xhtml">
 3 <head>
 4 <style>
 5 #div1 {width:100px; height:100px; background:red; position:absolute;}
 6 </style>
 7 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 8 <title>无标题文档</title>
 9 <script>
10 document.onmousemove=function (ev)
11 {
12     var oEvent=ev||event;
13     var oDiv=document.getElementById(div1);
14     
15     oDiv.style.left=oEvent.clientX+px;
16     oDiv.style.top=oEvent.clientY+px;
17 };
18 </script>
19 </head>
20 
21 <body>
22 <div id="div1">
23 </div>
24 </body>
25 </html>

 

事件基础(一)

标签:

原文地址:http://www.cnblogs.com/xs-yqz/p/4432897.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!