var e=ev||event;

e.cancelBubble=true;
document.documentElement   html
document.body                          body
【所以写的时候一定要加document.documentElement.scrollTop】
e.clientX;//鼠标在可视取中的x坐标。
e.clientY//鼠标在可是去中的y坐标。
 
//不兼容【不用】
e.pageX;//鼠标在页面中的x坐标。
e.pageY;//鼠标在页面中的y坐标。
 
e.keyCode
e.ctrlKey
e.altKey
e.shiftKey
e.preventDefault 阻止默认事件,addEventListener绑定时。
 
e.detail    //火狐下滚轮滚动结果
e.wheeldelta//其他浏览器下滚轮滚动
 
e.target
e.srcElement
e.toElement
e.fromElement
 
function $(fn){
if(document.addEventListener){
document.addEventListener('DOMContentLoaded',function(){
fn();
},false)
}else{
document.attachEvent('onreadystatechange',function(){
if(document.readyState=='complete'){
fn();
}
});
}
}
事件委托

1、给未来元素加事件。

oUl.onclick=function(ev){
var oEvent = ev||event;
var oSrc = oEvent.srcElement||oEvent.target;
if(oSrc.tagName!='A')return;
oUl.removeChild(oSrc.parentNode);
};
 
2、提高性能。
 
oEvent.srcElement:    在哪个元素上触发的。//兼容性:兼容ie和chrome
oEvent.target:    兼容火狐的事件委托。//兼容高版本浏览器。
oEvent.target.tagName//获取点击的标签名
 
//放大镜bug修复;
oEvent.toElement//判断移除到谁上。输出到哪的元素。//不兼容
oEvent.relatedTarget//兼容火狐
 
oEvent.fromElement//判断移除到谁上。输出到哪的元素。//不兼容
oEvent.relatedTarget//兼容火狐
 
obj.contains('b');//a是否包含b//完全兼容;
 
    div移除的时候是body
 
3、onmouseover和onmouseout的bug导致放大镜在ie写有闪烁。
      //onmouseenter  onmouseleave   解决了over和out的bug. 据说不稳定。
        解决方式。
        oEvent.toElement//判断移除到谁上。输出到哪的元素。//不兼容
        oEvent.relatedTarget//兼容火狐
 
4、页面加载之后执行。【DOMready】
    window.onload
                    执行的很慢。
                        html css js img flash.....之后【所有的资源加载完成后】。
        更灵活
   document.onreadystatechange//当加载状态改变。【低版本浏览器】,用时间绑定的方式加
        document.readyState:
        状态1:interactive;//状态正在开始。
        状态2:complete//事件准备完成。
        
   DOMContentLoaded【高版本浏览器】

  

  

 

2-4 js基础-事件对象小结的更多相关文章

  1. JS基础学习——对象

    JS基础学习--对象 什么是对象 对象object是JS的一种基本数据类型,除此之外还包括的基本数据类型有string.number.boolean.null.undefined.与其他数据类型不同的 ...

  2. JS 事件与事件对象小结

    JavaScript与HTML之间的交互是通过事件来实现的.IE9,chrome,Firefox,Opera,Safari均实现了DOM2级规范中定义的标准DOM事件,而IE8和IE8以下版本仍然保留 ...

  3. JS基础——事件绑定

    上一篇博客JS事件对象中,老师问JS事件处理和VB中的事件处理有什么联系?先来解决一下这个问题.举个VB.net中事件处理的样例(JS敲久了,VB习惯的都不熟悉了,看来得常常回想了): 1.事件处理V ...

  4. JS键盘事件对象之keyCode、charCode、which属性对比

    先说一些有关键盘事件的事项:用js实现键盘记录,要关注浏览器的三种按键事件类型,即keydown,keypress和keyup,它们分别对应onkeydown. onkeypress和onkeyup这 ...

  5. js event事件对象概括

    事件是用户或者浏览器自身执行的动作,而响应某个事件的函数就叫做事件处理程序或者叫事件侦听器. 定义事件处理程序可以大致分为以下三种: 一.html事件处理程序 元素支持的每种事件都可以用一个与之对应的 ...

  6. Js高级 事件 对象

    1.事件 浏览器客户端上客户触发的行为都成为事件 所有的事件都是天生自带的,不需要我们我去绑定,只需要我们去触发. 通过obj.事件名=function(){} 事件名:onmouseover onm ...

  7. js函数事件对象

    每个函数都有4个默认对象 arguments 保存着实际传入的参数,集合列表 return 有两个功能,打断函数和返回函数值 this 谁调用的函数,this就是谁 event 事件对象 事件 box ...

  8. JS基础-事件

    事件机制 事件触发三阶段 事件触发有三个阶段: window 往事件触发处传播,遇到注册的捕获事件会触发 传播到事件触发处时触发注册的事件 从事件触发处往 window 传播,遇到注册的冒泡事件会触发 ...

  9. JS基础-事件循环机制

    从一道题浅说 JavaScript 的事件循环 原文链接: https://github.com/Advanced-Frontend/Daily-Interview-Question/issues/7 ...

随机推荐

  1. Jquery 自定义插件写法(示例)

    (function ($) { $.SmsHelper = $.SmsHelper || {}; $.extend($.SmsHelper, { //插件具体实现代码 yzmnum: 60, Ajax ...

  2. 一个hql语句

    在hql语句里面,in的使用方法比较特别. from DomesticCat cat where cat.name in ( 'Foo', 'Bar', 'Baz' ) in后面是一个list,我写的 ...

  3. Unity3d发布的iOS产品中使用GB2312字符编码(CP936)

    最近在开发中要用到GB2312字符编码(CP936),在C#代码中便有了如此代码 System.Text.Encoding.GetEncoding() 这在Unity3d 编辑器下运行没有任何问题,打 ...

  4. .NET中Debug模式与Release模式差别

    Debug里的PDB是full,保存着调试和项目状态信息.有断言.堆栈检查等代码.Release 里的PDB是pdb-only,基本上:出什么错了+错误在哪行. 因为很多人把PDB理解成:调试文件.P ...

  5. Atom打造优雅的MarkDown 编辑器

    1.下载Atom https://atom.io/ 2.安装Atom 双击自动安装,会默认安装到C盘,无法修改. 3.安装simplified-chinese-menu 插件 这是一个可以将软件汉化的 ...

  6. Linux 常用命令大放送

    sbin 系统底层命令存放目录 bin  一般用户常用命令目录 文件用户管理 ls -lh 显示权限cp   -r 复制文件 文件夹 mkdir  test 创建文件夹rm    -rf  删除文件 ...

  7. ADB模块源码分析(二)——adb server的启动

    1. ADB Server的启动 前面我们讲到adb模块的源码在system/core/adb下面,通过查看Android.mk文件我们了解到这个adb 模块回编译生成连个可执行文件adb.adbd, ...

  8. 在线编辑器Ckeditor (2) - php (31)

    接上一篇 3 in-page(页内)配置,在使用Ckeditor的界面里进行直接配置 页内配置 效果 特点:配置项完全属于某个特定的Ckeditor实例,不可重用 三种配置方式比较 定制方式 特点 说 ...

  9. “全栈2019”Java第九十五章:方法中可以定义静态局部内部类吗?

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  10. JS 获取各个偶数之和!!

    <html>    <head>        <meta charset="utf-8" />        <title>js& ...