<div onmouseout='mouseOut()' id="div1">2222<a>111</a></div>function mouseOut(){
document.getElementById("div1").style.display="none";
}我要求鼠标移出div时,才执行mouseOut方法。但我鼠标在div内移动,当移动到<a>里面时,他也执行mouseOut方法。怎么控制,只要鼠标在div内,均不执行mouseOut方法呢????
document.getElementById("div1").style.display="none";
}我要求鼠标移出div时,才执行mouseOut方法。但我鼠标在div内移动,当移动到<a>里面时,他也执行mouseOut方法。怎么控制,只要鼠标在div内,均不执行mouseOut方法呢????
解决方案 »
- document.getElementById 取值
- 急急急,请问javascript文本框的checked问题?
- 请教一个ModalDialog的问题,谢谢
- var master=new Object("element")什么意思
- javascript中的正则表达式最后加一个/g或者/ig代表什么意思?
- [高手帮忙] 这个网页该怎样修改才能正常运行
- 请问这个HTML文件要怎么修改才能正确浏览,且生成的文件也能正确浏览?
- 控件数组怎么使用?
- 请问js里面的confirm为什么显示不了
- SSM到Spring Boot从零开发校园商铺平台 ssm项目,必须刷新html页面才会加载js文件,不手动刷新就不会加载
- js中function()的返回值问题
- 编码小问题
//获取指定标签的所有子标签
var getAllChildNodes=function(obj){
var nodes = obj.childNodes;
var arr = new Array();
var len = nodes.length;
for(var i=0;i<len;i++){
if(nodes[i].tagName!=undefined){
arr.push(nodes[i]);
arr = arr.concat(getAllChildNodes(nodes[i]));
}
}
return arr;
};
function mouseOut(event){
var obj=document.getElementById("div1");
var nodes=getAllChildNodes(obj);
event=event ? event : (window.event ? window.event : null);
if(document.all) event.target=event.srcElement;
for(var i=0;i<nodes.length;i++){
if(nodes[i]==event.target){
return false;
}
}
obj.style.display="none";
}
document.getElementById("div1").style.display="none";
}function showDiv(){
document.getElementById("div1").style.display="block";
}window.onload=function(){
var oList=document.getElementById("div1").getElementsByTagName('*');
for(var i=0;i<oList.length;i++){
oList[i].onmouseover=showDiv;
}
}
var getAllChildNodes=function(obj){
var nodes = obj.childNodes;
var arr = new Array();
var len = nodes.length;
for(var i=0;i<len;i++){
if(nodes[i].tagName!=undefined){
arr.push(nodes[i]);
arr = arr.concat(getAllChildNodes(nodes[i]));
}
}
return arr;
};
function mouseOut(event){
var obj=document.getElementById("div1");
var nodes=getAllChildNodes(obj);
event=event ? event : (window.event ? window.event : null);
if(document.all) event.relatedTarget=event.toElement;
//刚才弄成判断触发事件的标签了,应该是判断鼠标移向哪个标签才对
for(var i=0;i<nodes.length;i++){
if(nodes[i]==event.relatedTarget) return false;//如果鼠标移向子标签则直接终止
}
if(obj==event.relatedTarget) return false;//鼠标由子标签移向div1也直接终止
obj.style.display="none";
}