2

因此,在 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 中执行此操作时,我可以打开弹出 div,但无法关闭它。如何在 Internet Explorer 9 中关闭它?

4

2 回答 2

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/

Аlternatively 你可以使用onclick而不是href

<a onclick="closePopup();return false;">close</a>
于 2013-06-19T14:21:04.853 回答
0

你能这样试试吗

pd.style.display="hidden"

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

于 2013-06-19T14:17:49.753 回答