在做mouseenter与mouseleave的兼容时,我们需要用到事件对象的relatedTarget属性

function getRelatedTarget(e) {
var t = e.relatedTarget
if (t) {
return t
}
return e.fromElement === e.target ?
e.toElement :
e.fromElement;
}
String("mouseenter,mouseleave").replace(/\w+/g, function (type) {
eventHooks[type] = function (dom) {
var eventType = type === "mouseenter" ? "mouseover" : "mouseout";
addEvent(dom, eventType, function (e) {
var t = getRelatedTarget(e)
if (!t || (t !== dom && !dom.contains(t))) {
dispatchEvent(e, type, true);
}
});
};
});

获取relatedTarget属性的更多相关文章

  1. Entity Framework 6 Recipes 2nd Edition(12-8)译 -> 重新获取一个属性的原始值

    12-8. 重新获取一个属性的原始值 问题 在实体保存到数据库之前,你想重新获取属性的原始值 解决方案 假设你有一个模型 (见 Figure 12-11) 表示一个员工( Employee),包含工资 ...

  2. JS中isPrototypeOf 和hasOwnProperty 的区别 ------- js使用in和hasOwnProperty获取对象属性的区别

    JS中isPrototypeOf 和hasOwnProperty 的区别 1.isPrototypeOf isPrototypeOf是用来判断指定对象object1是否存在于另一个对象object2的 ...

  3. js动画之获取元素属性

    首先我们要介绍一些知识 offsetWidth element.offsetWidth = width + padding + border; width 我们也知道element.style.wid ...

  4. [WinAPI] API 5 [遍历驱动器并获取驱动器属性]

    (1) GetLogicalDrives.获取主机中所有的逻辑驱动器,以BitMap的形式返回.◇返回值GetLogicalDrive函数返回一个DWORD类型的值,第一位表示所对应的驱动器是否存在. ...

  5. mysql根据身份证信息来获取用户属性信息

    需要:根据身份证信息来获取用户属性 方法:可以使用如下sql语句: ) ' then '北京市' ' then '天津市' ' then '河北省' ' then '山西省' ' then '内蒙古自 ...

  6. js中获取css属性

    直接获取 window.onload = function() { var but = document.getElementById('button'); var div = document.ge ...

  7. JS获取网页属性包括宽、高等

    JS获取网页属性包括宽.高等. function getInfo()  { // www.jbxue.com var s = "";  s += " 网页可见区域宽:&q ...

  8. 【转】C#通过Expression获取指定属性的名称

    原文:http://www.cnblogs.com/powerwu/articles/3393582.html 大家所熟悉的是通过对象属性来访问该属性的值,或是由字符串通过反射来获取属性,并取值.今天 ...

  9. 如何使用C#操作快捷方式(获取快捷方式属性、创建快捷方式)

    近来项目中有需要用到一个技术:使用C#操控快捷方式,包含创建和读取等.现整理一下实现方式,分享给大家. 第一步  创建一个项目 无需废话,跳过. 第二步  引用COM组件 右键“引用”,“添加引用”, ...

随机推荐

  1. ReactiveCocoa基础

    在讲ReactiveCocoa之前,我们来回忆一下Block在开发中的使用场景: 1.把block保存到对象中,等到恰当的时候才去调用 2.把block当做方法的参数使用,外界不调用,都是方法内部去调 ...

  2. Linux_x86下NX与ASLR绕过技术

    本文介绍Linux_x86下NX与ASLR绕过技术,并对GCC的Stack Canaries保护技术进行原理分析. 本文使用存在漏洞代码如下: /* filename : sof.c */ #incl ...

  3. HBase和Phoneix使用示例

    HBase操作 基本操作 创建表 Examples: hbase> create 't1', {NAME => 'f1', VERSIONS => 5} hbase> crea ...

  4. ORA-00847: MEMORY_TARGET/MEMORY_MAX_TARGET and LOCK_SGA cannot be set together

    群里有位兄弟,测试系统修改sga_lock=true参数后,重启库报错 ORA-00847: MEMORY_TARGET/MEMORY_MAX_TARGET and LOCK_SGA cannot b ...

  5. 20155208 徐子涵 Exp3 免杀原理与实践

    20155208 徐子涵 Exp3 免杀原理与实践 基础问题回答 (1)杀软是如何检测出恶意代码的? 一种是基于特征码的检测,另一种是基于恶意行为的检测. (2)免杀是做什么? 在我看来,免杀就是要达 ...

  6. HTML超链接和路径

    html超链接和路径 学习要点:     1.超链接的属性     2.相对与绝对路径     3.锚点设置                          一.超链接的属性     <a&g ...

  7. 学习笔记TF050:TensorFlow源代码解析

    TensorFlow目录结构. ACKNOWLEDGMENTS #TensorFlow版本声明 ADOPTERS.md #使用TensorFlow的人员或组织列表 AUTHORS #TensorFlo ...

  8. Linux服务安装配置总结

  9. 第8章 枚举类&注解

    8.枚举及注解 8.1 如何自定义枚举类 1课时 8.2 如何使用关键字enum定义枚举类 1课时 8.3 枚举类的主要方法 1课时 8.4 实现接口的枚举类 1课时 8-1 枚举类 枚举类入门 枚举 ...

  10. oracle命令2

    使用DDL创建和管理表 DBA角色:拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构,并且系统权限也需要DBA授出,且DBA用户可以操作全体用户的任意基表,包括删除 grant dba t ...