Javascript popup div在IE9中不会关闭

时间:2013-06-19 14:06:29

标签: javascript css

所以在chrome中我可以使用这个javascript代码打开和关闭弹出div:

<script language="javascript">
function expand_day(daynr) {
var controlnaam = 'cal_' + daynr;
var control = document.getElementById(controlnaam)
if (control) {
    var pd = document.getElementById('popupDiv');
    if (pd){
        var output = '<table border="0" cellpadding="10" style="width:100%;border:solid 0px #000000;background-color:white;color:black;">';
        output += '<tr><td><span style="float:right;"><a href="Javascript:closePopup();return false;">close</a></span></td></tr>';
        output += '<tr><td>';            
        //alert(control.innerHTML);
        pd.innerHTML = output + control.innerHTML + '</td></tr></table>';
        pd.style.display='block';

    }            
}
}
 function closePopup() {
var pd = document.getElementById('popupDiv');
if (pd){
    pd.style.display='none';
}    
}

</script>

但是当我在Internet Explorer 9中执行此操作时,我可以打开弹出窗口,但无法关闭它。 如何在Internet Explorer 9中关闭它?

2 个答案:

答案 0 :(得分:1)

这一行:

<a href="Javascript:closePopup();return false;">close</a>

应改为

<a href="Javascript:closePopup();">close</a>

因此,您无法在此上下文中使用return语句。 IE抱怨SCRIPT1018: 'return' statement outside of function

http://jsfiddle.net/LMqKg/2/

- 您可以使用onclick代替href

<a onclick="closePopup();return false;">close</a>

答案 1 :(得分:0)

你能尝试这样吗

pd.style.display="hidden"

我认为他们的问题是关于.display =“none”