Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript iframe onmouseout捕获_Javascript - Fatal编程技术网

Javascript iframe onmouseout捕获

Javascript iframe onmouseout捕获,javascript,Javascript,我目前在父页面中有一个iframe,我想知道当用户单击或移动到iframe边框之外(即返回到父页面)时,是否可以捕获要捕获的onmouseout事件。您应该能够在iframe的页面中执行document.body.onmouseleave/onmouseout(请参见编辑)。因为它会冒泡,所以你必须检查它是否确实是引发事件的主体 document.body.onmouseout = function () { if (event.srcElement == document.body)

我目前在父页面中有一个iframe,我想知道当用户单击或移动到iframe边框之外(即返回到父页面)时,是否可以捕获要捕获的onmouseout事件。

您应该能够在iframe的页面中执行document.body.onmouseleave/onmouseout(请参见编辑)。因为它会冒泡,所以你必须检查它是否确实是引发事件的主体

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>