Диалоговое окно пользовательского интерфейса jQuery будет отображаться только во время загрузки, а не после завершения загрузки

#jquery #dialog #loading #show

#jquery #диалоговое окно #Загрузка #показать

Вопрос:

Прежде всего: никогда раньше не задавал здесь вопрос, но это сообщество уже оказывало большую помощь в прошлом для всевозможных вещей. Так что большое спасибо за это.

У нас проблема с нашими диалоговыми окнами пользовательского интерфейса jQuery. Они будут работать нормально и откроются, когда вы нажмете на соответствующую ссылку, пока загрузка страницы не завершена. Но как только Chrome перестал вращать свою маленькую загрузочную штуковину, вы можете нажимать на кнопки / ссылки сколько угодно — ничего не происходит. Я думаю, код не очень поможет — довольно стандартный учебник copy’n’paste, чтобы запустить его:

 <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.1/jquery-ui.min.js"></script>
<script>
    function showDialog(){
        $(document).ready(function(){
            $("#dialog").dialog({
                modal: true,
                buttons: {"Testbutton": function(){ $(this).dialog("close"); } } });
        $("dialog").show();
     });
    }

    $(function() {
    $( "#dialog" ).dialog({
        autoOpen: false,
                    modal: true
    });

    $( "#opener" ).click(function() {
                    $( "#dialog" ).dialog( "enable" );
        $( "#dialog" ).dialog( "open" );
        return false;
    });
});
 
 <div id="dialog" title="Basic modal dialog" style="display:none">
    <p>dialog text</p>
</div>
<button id="opener">Testdialog</button>
 

Ответ №1:

Вероятно, это потому, что у вас есть ошибка javascript позже на странице. Если вы используете firebug, видите ли вы какие-либо ошибки в консоли javascript?

Комментарии:

1. @Rippo: не сработало:/ и Росс: Спасибо. Я не уверен, поможет ли это, но это очень хороший намек. Дело в том, что я только начал работать над проектом, поэтому на самом деле в js-консоли Chrome много ошибок. Я постараюсь устранить их, и если у нас не останется никаких ошибок, а диалоги все еще не работают, я просто вернусь сюда 🙂 Спасибо, ребята!

Ответ №2:

Уже …. есть исправление! Черт возьми…это был долгий путь. И это один из тех действительно сложных — так что вот решение:

http://code.google.com/p/zfdebug/issues/detail?id=30

Большое вам спасибо, ребята, за помощь! Я встал на правильный путь, когда Росс спросил, есть ли какие-либо другие ошибки JS. Большое спасибо за это!

Комментарии:

1. Не могли бы вы немного подробнее рассказать об окончательном решении? Контекст был бы наиболее полезен для следующего человека, у которого возникнет эта проблема, и наличие ответа прямо здесь лучше, чем переход по ссылкам (которые могут сломаться).