我有一个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上的打开和关闭窗口之间切换?
答案 0 :(得分:0)
有几个错误。
if条件语法有错误。
您必须将if (batchid = 1)
替换为此 if (batchid === 1)
myWindow
var应该在函数外声明,因为如果不是在任何时候调用showProducts
,那么引用将被覆盖。
在if语句中,您要求的batchid
var不存在,因为函数声明中的参数被称为id
。
所以你的功能应该是这样的。
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树中元素的序列,因为哪些事件没有通过隧道传输到。 始终保持打开的窗口,然后我认为您的活动将有效。