0

我有一个加载外部 php 页面的 jQuery 对话框。一切正常,除了在 Internet Explorer (8) 中,当加载对话框时 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 上,但有时也会出现 (????)。

谢谢,科恩

4

2 回答 2

0

尝试在页面底部包含 javascript,就在 end body 标记之前。这可以防止在页面加载之前对 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>
于 2012-06-14T11:38:26.780 回答
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>
于 2012-06-14T11:43:26.730 回答