マウスが指定された領域コードにあるかどうかを判断します.

1565 ワード

<div style="width:300px; height:300px; border:1px solid red;">
  <div id="target"><div><span> </span></div></div>
</div>
<style type="text/css">
#target{ width: 200px; height: 200px; background: #EEE;}
#target div{width: 150px; height: 150px; border:1px solid orange;}
#target span{ display: block; width: 50px; height: 50px; background: gray;}
</style>
var target = document.getElementById('target');
	if(target.addEventListener){
		target.addEventListener("mouseout",mouseoutHander,false)
	}else if(target.attachEvent){
		target.attachEvent("onmouseout",mouseoutHander);
	}else{
		target.onmouseout = mouseoutHander;
	}
	function mouseoutHander(e){
		e = e || window.event;
		var target = e.target || e.srcElement;

		  //  
		  if (target.id !== 'target') {
		    return;
		  }

		  //  
		  var relatedTarget = e.relatedTarget || e.toElement;
		  while (relatedTarget !== target
		    && relatedTarget.nodeName.toUpperCase() !== 'BODY') {
		    relatedTarget = relatedTarget.parentNode;
		  }

		  //  , 
		  if (relatedTarget === target) {
		    return;
		  }

		  //  
		  alert(' ');
	}

以上のコードを実行すると、マウスが指定した領域を移動しても警告ボックスはポップアップされません.