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

ページの下部、body タグの直前に 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>
于 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 に答える