切换窗口打开并关闭MouseOver和MouseOut

时间:2014-11-11 04:23:19

标签: javascript asp.net

我有一个div。我想在鼠标悬停上打开一个窗口,想要关闭Mouse Out上的窗口。我尝试使用以下JavaScript函数:

 function showProducts(id) {
         var myWindow = null;
         if (id = 1) {
             myWindow = window.open("../DataView.aspx", '_blank', "width=500, height=200")
         }
         else
             myWindow.close();

     }

我使用以下命令从ASPX页面调用该函数:

  string script =   string.Format(@"onmouseover=""showProducts(1);""onmouseout=""showProducts(-1);""");

但我的窗口没有在MouseOut事件上关闭。如何编写Javascript函数以在MouseOver和MouseOut上的打开和关闭窗口之间切换?

2 个答案:

答案 0 :(得分:0)

有几个错误。

  1. if条件语法有错误。

    您必须将if (batchid = 1) 替换为此 if (batchid === 1)

  2. myWindow var应该在函数外声明,因为如果不是在任何时候调用showProducts,那么引用将被覆盖。

  3. 在if语句中,您要求的batchid var不存在,因为函数声明中的参数被称为id

  4. 所以你的功能应该是这样的。

    var myWindow = null;
    
    function showProducts(id) {   
       if (id === 1) myWindow = window.open("../DataView.aspx", '_blank', "width=500, height=200")
       else myWindow.close();
    }
    

答案 1 :(得分:-1)

我猜你的问题是DOM树中元素的序列,因为哪些事件没有通过隧道传输到。 始终保持打开的窗口,然后我认为您的活动将有效。