如何判断某个Div当前是否属于mouseover鼠标事件?

hhx_1120 2009-08-11 11:39:50

我有两个Div,当鼠标移出其中一个Div时 需要判断是否MouseOver到了另一个Div上面,
请问该怎么判断呢?
...全文
799 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
hhx_1120 2009-08-12
  • 打赏
  • 举报
回复
我需要实现的是:

当鼠标从demo1.jpg移出时,判断是否移动到了demo2.jpg的 <area id="weddingCrossing">上面。
而我通过oElem.id来获取ID是,IE中获取不到<area>的ID,会返回空字符串
hhx_1120 2009-08-12
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 truelove12 的回复:]
ie8 firefox下通过测试

HTML code<htmlxmlns="http://www.w3.org/1999/xhtml"><head><title></title><scripttype="text/javascript">function mouseoutHandler(oEvent)
{var oElem= oEvent.toElement|| oEvent.relatedTarget;if (oElem.id=="div2")
{
window.alert("ok");
}
}</script></head><body><divonmouseout="mouseoutHandler(event)" id="div1">div1</div><divid="div2">div2</div></body></html>
[/Quote]
你的方法很好,谢谢你!
不过如果我用了<area>热链接话 好像在IE中是获取不到area标签的Id的(火狐中可以),另外还有个奇怪的问题,我在Google浏览器中打开,脚本虽然可以正常执行,但是执行后Google浏览器会崩溃。不过在同事电脑上试验了下是正常的。 不太明白为什么会这样...
以下是我的代码:
<div>
<img src="images/demo1.jpg" usemap="#PromMap" hidefocus="true" />
<map name="PromMap" id="PromMap">
<area id="promLink" shape="poly" coords="需要根据你的图片大小来设置热区坐标" href="#" />
<area id="promArea" onmouseout="mouseoutHandler(event)" shape="poly" coords="需要根据你的图片大小来设置热区坐标" href="#" />
<area id="promCrossing" shape="poly" coords="需要根据你的图片大小来设置热区坐标" href="#" />
</map>
</div>
<div style="margin-top:10px;">
<img src="images/demo2.jpg" usemap="#weddingMap" hidefocus="true" />
<map name="weddingMap" id="weddingMap">
<area id="weddingLink" shape="poly" coords="需要根据你的图片大小来设置热区坐标" href="#" />
<area id="weddingArea" shape="poly" coords="需要根据你的图片大小来设置热区坐标" href="#" />
<area id="weddingCrossing" shape="poly" coords="需要根据你的图片大小来设置热区坐标" href="#" />
</map>
</div>
xinyung 2009-08-11
  • 打赏
  • 举报
回复
if(event.toElement==div2)
s_liangchao1s 2009-08-11
  • 打赏
  • 举报
回复
在另一个DIV上绑定onmouseover不就得了?
  • 打赏
  • 举报
回复
ie8 firefox下通过测试


<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title></title>
<script type="text/javascript">

function mouseoutHandler(oEvent)
{
var oElem = oEvent.toElement || oEvent.relatedTarget;
if (oElem.id == "div2")
{
window.alert("ok");
}
}

</script>
</head>
<body>
<div onmouseout="mouseoutHandler(event)" id="div1">div1</div>
<div id="div2">div2</div>
</body>
</html>
KK3K2005 2009-08-11
  • 打赏
  • 举报
回复
一个DIVmouseout事件后 才会有另一个DIV的mouseover事件
这个顺序应该是串联的 所以 很难按LZ的要求来判断
在mouserout事件中引发settimeout lz看看可以不
$("#div1").mouseout(
setTimeout(ff,300);
function ff() {
if($("#div2").mouseover()) -----> 在移出Div1时怎么判断Div2当前是否是mouseover事件呢?
{
执行方法一
}else
{
执行方法二
}
});
hhx_1120 2009-08-11
  • 打赏
  • 举报
回复

To: xinyung:

呜呜 试了下 不行啊

function objEvent(event) {
event = event ? event : window.event
var obj = event.srcElement ? event.srcElement : event.target;
alert(obj.id);
} 它提示的永远都是当前Div的Id名称,而不是另一个Div

---------------------

我的问题:
<div id="div1">demodemo..</div>
<div id="div2">demodemo..</div>
<script type="text/javascript">
$("#div1").mouseout(function() {
if($("#div2").mouseover()) -----> 在移出Div1时怎么判断Div2当前是否是mouseover事件呢?
{
执行方法一
}else
{
执行方法二
}
});
</script>
hhx_1120 2009-08-11
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 xinyung 的回复:]
if(event.toElement==div2)
[/Quote]

西`` 刚百度了下这个的用法 貌似看到了希望 先谢谢你先哦! ^0^
hhx_1120 2009-08-11
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 s_liangchao1s 的回复:]
在另一个DIV上绑定onmouseover不就得了?
[/Quote]
s_liangchao1s 不可以哦,因为我想这么实现个效果: 当鼠标从当前Div移出后我需要判断是否移到了另一个Div上,如果不是我要调用另一个方法

87,918

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧