Справка по диалогу пользовательского интерфейса jQuery - PullRequest
0 голосов
/ 26 марта 2009

Я использую jQuery UI.Dialog. У меня небольшая проблема, когда я нажимаю ссылку, чтобы показать диалоговое окно, текст из #Test исчезает, и отображается модальное наложение, но фактическое модальное окно не отображается.

Используя FireBug, диалоговое окно создается, но имеет Display: None, поэтому не отображается. Кроме того, если я изменю это в firebug на Display: Block, появится диалоговое окно, но оно находится слева от моей страницы ... какие-либо предложения?

Мой код очень прост:

<head>
<link href="Vader/jquery-ui-1.7.1.custom.css" rel="stylesheet" type="text/css">
<script src="javascripts/jquery.js" type="text/javascript"></script>
<script src="javascripts/ui.core.js" type="text/javascript"></script>
<script src="javascripts/ui.draggable.js" type="text/javascript"></script>
<script src="javascripts/ui.resizable.js" type="text/javascript"></script>              
<script src="javascripts/ui.dialog.js" type="text/javascript"></script>     
    <script type='text/javascript'>
    $(function() {
        $("a").click(function(){
            $('#Test').css('display','inline');
            $("#Test").dialog({modal: true});
        });
    });
</script>
</head>
<body>
    <a href="#">Test</a>
    <div id="Test" title="Test Title">Bla bla bla</div>
</body>

Ответы [ 4 ]

3 голосов
/ 27 марта 2009

Возможно, вы захотите добавить к клику e.preventDefault (); поэтому он не пытается загрузить #, который может обновить страницу.

    $("a").click(function(e){
        e.preventDefault();
        $('#Test').css('display','inline');
        $("#Test").dialog({modal: true});
    });
0 голосов
/ 26 марта 2009

не является структурой уровня блока, которая может вызывать некоторые проблемы.

Попробуйте обернуть его в DIV, а затем сделать этот div в диалоговом окне.

0 голосов
/ 26 марта 2009

У меня была такая же проблема, и оказалось, что файл CSS не был найден. Используйте Firebug, чтобы загрузить файл CSS. Вы можете обнаружить, что в Firebug отображается «404 Not found».

0 голосов
/ 26 марта 2009

Полагаю, это не получение файла CSS, вы подтвердили, что это действительно так?

Насколько я могу судить, в вашем коде нет ничего плохого, в моем файле с песочницей работает следующий тест

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<!-- Above Doctype should provide S mode in Moz, Safari, Opera, IE8 and A (almost standards) in IE6/7 -->
<head>
  <meta http-equiv="Content-Type" content="application/text+html;utf-8"/>

  <title>Sandbox</title>
  <link type="text/css" href="http://jqueryui.com/latest/themes/base/ui.all.css" rel="stylesheet" />

<script type="text/javascript" src="http://www.google.com/jsapi"></script>
<script type="text/javascript">
    google.load("jquery", "1.3.2");
    google.load("jqueryui", "1.7.0");
</script>
<script type="text/javascript">

      $(document).ready(function() {
        $("a").click(function(){
            $('#Test').css('display','inline');
            $("#Test").dialog({modal: true});
        });


    });
</script>
</head>
<body>
    <div id="container">
        <a href="#">Test</a>
        <div id="Test" title="Test Title">Bla bla bla</div>
    </div>
</body>

</html>
...