Javascript iframe onmouseout捕获
我目前在父页面中有一个iframe,我想知道当用户单击或移动到iframe边框之外(即返回到父页面)时,是否可以捕获要捕获的onmouseout事件。您应该能够在iframe的页面中执行document.body.onmouseleave/onmouseout(请参见编辑)。因为它会冒泡,所以你必须检查它是否确实是引发事件的主体Javascript iframe onmouseout捕获,javascript,Javascript,我目前在父页面中有一个iframe,我想知道当用户单击或移动到iframe边框之外(即返回到父页面)时,是否可以捕获要捕获的onmouseout事件。您应该能够在iframe的页面中执行document.body.onmouseleave/onmouseout(请参见编辑)。因为它会冒泡,所以你必须检查它是否确实是引发事件的主体 document.body.onmouseout = function () { if (event.srcElement == document.body)
document.body.onmouseout = function ()
{
if (event.srcElement == document.body)
{
// put your code here
}
}
编辑:我的错误是,onmouseleave没有冒泡,因此没有必要使用if语句。onmouseleave不适用于其他浏览器,因此您应该使用onmouseout并保留if语句,因为onmouseout不冒泡
如果您只关心IE6,请在iframe页面的代码中添加以下标记(最好是标题)
document.documentElement.onmouseleave=函数()
{
警报(“鼠标离开iframe”);
}
请参阅MSDN文档谢谢andy-仅供参考,我正在使用IE6。抱歉,我仍然有点不确定在iframe页面中需要执行什么操作?尝试将代码放置在iframe页面中,但收到错误:“document.body”为null或不是对象?这是因为脚本在处理主体之前正在初始化。向脚本添加defer属性将使其在文档完全解析后运行。此外,将事件添加到documentElement(HTML标记)也应该可以,而不需要脚本中的defer属性。
<script type="text/javascript">
document.documentElement.onmouseleave = function ()
{
alert('mouse left the iframe');
}
</script>