function del(e){
e=e||event; // 如果没有 e 参数,则取 event
var obj=e.relatedTarget||e.toElement; // e.relatedTarget 为false,就用 e.toElement
var div =document.getElementById("div")//这个不用解释
if(div.contains(obj)) // 触发事件的物件是否在 id 为 'div' 的这个容器内,是则返回
return;
document.body.removeChild(div)//这个不用解释
}
FF和IE获取"事件"的兼容写法
FF下event并不存在,所以需要传递参数e来获取"事件";ie下e不需要传递。var obj=e.relatedTarget||e.toElement;
也是兼容写法
ie没有relatedTarget但是有toElement
对于relatedTarget的解释:
relatedTarget 事件属性返回与事件的目标节点相关的节点。
对于 mouseover 事件来说,该属性是鼠标指针移到目标节点上时所离开的那个节点。
对于 mouseout 事件来说,该属性是离开目标时,鼠标指针进入的节点。
对于其他类型的事件来说,这个属性没有用。