方法一:
以頁面header為例:
(判斷鼠標是否在一級菜單里,如果不在一級菜單,是否在二級菜單)
$('#header').mousemove(function(e){
if($.contains($("#navUl")[0],e.target) || $("#navUl")[0]==e.target){
// console.log('在menu中')
}else{
// console.log('不在menu中');
if($.contains($("#submenu")[0],e.target) || $("#submenu")[0]==e.target){
// console.log('在二級menu中')
}else{
// console.log('不在二級menu中');
$("#navUl>li").removeClass('active');
}
}
}
(參考:jquery里判斷一個標簽元素是否包含另一個標簽元素,即一個標簽元素是否為另一個標簽元素的子標簽的方法
摘自 愛jQuery:http://www.aijquery.cn/Html/jqueryhanshu/131.html
http://www.aijquery.cn/Html/jqueryshili/182.html
)
方法二: 傳統方法: Jquery獲取鼠標位置和判斷鼠標是否在DIV中
$(document).mousemove(function(e){ x = e.pageX; y = e.pageY; }); //x的值相對於文檔的左邊緣。y的值相對於文檔的上邊緣 //x,y是全局變量; //判斷鼠標是否在某DIV中 var div = $('.dream');//獲取你想要的DIV var y1 = div.offset().top; //div上面兩個的點的y值 var y2 = y1 + div.height();//div下面兩個點的y值 var x1 = div.offset().left; //div左邊兩個的點的x值 var x2 = x1 + div.width(); //div右邊兩個點的x的值 if( x < x1 || x > x2 || y < y1 || y > y2){ alert('鼠標不在該DIV中'); }else{ alert('鼠標在該DIV中'); };