【问题标题】:Pop up window getting closed even when mouse pointer is at the top of the popup window即使鼠标指针位于弹出窗口的顶部,弹出窗口也会关闭
【发布时间】:2014-01-16 17:36:23
【问题描述】:

我想为一个页面实现弹出功能,为此我使用了以下代码。

 <input type="button" value="Open a Popup Window" onclick="window.open('WebForm2.aspx','popUpWindow','height=500,width=400,left=100,top=100,resizable=yes,scrollbars=yes,toolbar=yes,menubar=no,location=no,directories=no, status=yes');">


使用它我能够打开一个新窗口。但是,如果用户从弹出窗口中移动光标(即 onmouseout),我也必须关闭弹出窗口,并且当用户单击选项卡右上角的 X 按钮时,我还想关闭弹出窗口。为此,我所做的是

    <script type="text/javascript">    
        function alertUser() {
            window.close();
        }
    </script>

<div onmouseout ="alertUser()"> My contents ... </div>. 


现在我的问题是当光标移动到关闭 btn 附近而不单击窗口时关闭。可以做什么?

【问题讨论】:

  • 我可以通过单击父窗口来关闭子窗口吗?

标签: c# javascript jquery html popup


【解决方案1】:

问题是您的onmouseout 监听器在div 上。当鼠标离开div 时,window.close() 被触发。没有任何方法可以监听应用程序 chrome 上的事件(例如窗口的标题栏),因此您无能为力。您可以设置div 的样式,使其占据窗口的整个内容区域,仅此而已。您还可以考虑更改您的设计,以便离开窗口/div 不会导致它关闭。无论如何,这对用户来说可能是令人吃惊的行为。

【讨论】:

  • 我可以通过点击父窗口来关闭子窗口吗?
  • 在此处查看接受的答案:stackoverflow.com/questions/15125577/… 您可以将打开的窗口分配给一个变量,然后在父项中的某些操作上将其关闭。
  • 谢谢!!.. 好的,我查看了页面并理解了调用方式。但现在我的问题是函数 closeit() 可以在哪里调用。?是在div的clickevent中吗?你能帮帮我吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多