mouseout事件定义:在鼠标指针位于一个元素上方,然后用户将其移入另一个元素时触发。不能通过键盘触发该事件
mouseover事件定义:在鼠标指针位于一个元素外部,然后用户将其首次移入另一个元素边界之内时触发。不能通过键盘触发该事件
相关元素:在发生mouseover和mouseout事件时,这两个事件都会涉及把鼠标指针从一个元素的边界之内移动到另一个元素的边界之内
mouseover事件:事件的主要目标是获得光标的元素,而相关元素就是那个失去光标的元素。
mouseout事件:事件的主要目标是失去光标的元素,而相关元素则是获得光标的元素
<!DOCTYPE html>
<html lang="zh" id="html">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
<title>Document</title>
<style type="text/css">
* {
margin: 0;
padding: 0;
}
</style>
</head>
<body id="body">
<div id="wrap" style="width: 200px;height: 200px;border: 1px solid black;">
<div id="box" style="width: 100px;height: 100px;border: 1px solid black;position: absolute;left: 50px;top: 50px;"></div>
</div>
<script src="//t99panzer.oss-cn-shanghai.aliyuncs.com/js/Base.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
var base = new Base();
var box = base.getDom("box");
base.addHandler(wrap, "mouseout", function(event) {
event = base.getEvent(event);
var target = base.getTarget(event); //事件的主目标,失去光标
var relatedTarget = base.getRelatedTarget(event); //相关元素,获取光标
console.log("mouseout of " + target.id + " to " + relatedTarget.id);
});
</script>
</body>
</html>
可以测试下这个案例。mouseover与之相反。