Кнопка закрытия в диалоговом окне Jquery

#javascript #jquery #asp.net-mvc

#javascript #jquery #asp.net-mvc

Вопрос:

У меня есть пользовательская настройка пользовательского интерфейса оповещения для jquery-ui, но по какой-то причине моя кнопка закрытия не закрывает окно. Ниже приведен мой код. Я пытаюсь использовать override alert () с пользовательским интерфейсом jQuery, как указано в этой ссылке. Приветствуется любая помощь. https://andrewensley.com/2012/07/override-alert-with-jquery-ui-dialog /

 <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<script type ="text/javascript">
    window.alert = function (message) {
        $(document.createElement('div'))
            .attr({ title: 'Invoice Information', 'class': 'alert' })
            .html(message)
            .dialog({
                draggable: true,
                modal: true,
                resizable: false,
                width: 'auto',
                buttons: {
                    OK: function () {
                        $(this).dialog("close");
                    }
                },
                close: function () { $(this).remove();}
            });
    };
</script>
  

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

1. Похоже, это работает в более новой версии jquery. jsbin.com/nasoviqojo/1/edit?html ,js, вывод

2. Почему вы загружаете две версии jQuery?

3. @Barmar это был несчастный случай.

4. У меня это работает с jquery 1.9.1: jsfiddle.net/barmar/h6g10z7s

5. Странно. У меня тоже работает на jsfiddle, но не в VS17. Также, когда я использую IE, я получаю ошибку Ошибка времени выполнения JavaScript: объект не поддерживает свойство или метод ‘dialog’

Ответ №1:

Я решил свою проблему, просто переместив мои рендеры и ссылки на скрипты в свой заголовок и переместив мой JS-скрипт в тело.