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)//这个不用解释 

解决方案 »

  1.   

    要删除一个空的 id 为 'div' 容器?
      

  2.   

    e=e||event; 
    FF和IE获取"事件"的兼容写法
    FF下event并不存在,所以需要传递参数e来获取"事件";ie下e不需要传递。var obj=e.relatedTarget||e.toElement;
    也是兼容写法
    ie没有relatedTarget但是有toElement
    对于relatedTarget的解释:
    relatedTarget 事件属性返回与事件的目标节点相关的节点。
    对于 mouseover 事件来说,该属性是鼠标指针移到目标节点上时所离开的那个节点。
    对于 mouseout 事件来说,该属性是离开目标时,鼠标指针进入的节点。
    对于其他类型的事件来说,这个属性没有用。