2012-06-14 58 views
0

我有一个jQuery对话框,加载一个外部的PHP页面。除了在Internet Explorer(8)中,所有的工作都很好,开启了css,然后在加载对话框时再次关闭。这意味着对话是透明的! 当我拖动对话框时,样式再次应用,并且它保持应用。jQuery的对话框不显示在Internet Explorer加载CSS样式

这是对话框加载方法。

<script> 
     $(document).ready(function() { 

      //select all the a tag with name equal to modal 
      $('a[name=eventform]').click(function(e) { 
       //Cancel the link behavior 
       e.preventDefault(); 

       $("#dialog").load(e.target.href).dialog({ 
        title : 'Activity' 
       }); 

      }); 

     }); 
    </script> 

这是外部页面。所有在Firefox中都可以正常工作,但在Internet Explorer中加载时会以某种方式删除样式。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
    <title><?php echo $pgtitle ?></title> 

    <script type="text/javascript" src="js/jquery-1.7.1.min.js"></script> 
    <script type="text/javascript" src="js/jquery-ui-1.8.21.js"></script> 
    <link rel="stylesheet" type="text/css" href="calendar/css/popwin.css" /> 


    </head> 
<body> 
      ...... 

我试着用@import来得到样式表,但这没什么区别。

Internet Explorer 9上出现同样的问题,但它有时会发生(????)。

感谢, 科恩

+0

尝试改变'e.target.href'到'this.href'。 –

+0

我相信对话框的行为不像iframe。 CSS样式你应该把你的主页 –

+0

@jSang,这没有什么区别。 –

回答

0

尝试这种情况:

<script> 
    $(document).ready(function() { 

     //select all the a tag with name equal to modal 
     $('a[name=eventform]').click(function(e) { 
      //Cancel the link behavior 
      e.preventDefault(); 

      $("#dialog").load(e.target.href, function(){ 
       $('#dialog').dialog({ 
       title : 'Activity' 
       }) 
      }); 

     }); 

    }); 
</script> 
+0

酷,那有效!非常感谢。 –

0

尝试,包括在页面底部的JavaScript,刚刚结束标记前面。这可以防止在加载页面之前对DOM进行任何修改。

实施例:

<html> 
<head> 
</head> 
<body> 
CONTENT 
... 
... 
<script type="text/javascript" src="js/jquery-1.7.1.min.js"></script> 
<script type="text/javascript" src="js/jquery-ui-1.8.21.js"></script> 
</body> 
</html> 
相关问题