Невозможно закрыть Simplemodal из-за пределов функции - PullRequest
0 голосов
/ 14 мая 2011

Итак, я создаю простую модальную коробку с iframe внутри нее.В iframe у меня есть текстовое поле, которое вызывает функцию после ее отправки.Затем эта функция отключается и выполняет свои собственные команды.То, что я хочу сделать, это после того, как человек отправит свой текст для простого окна, чтобы закрыть.Я действительно не видел атрибута, который позволял бы мне устанавливать идентификатор для модального, чтобы я мог ссылаться на него вне функции.Вот мой код:

модальный:

$.modal('<iframe src="chrome-extension://kdcfmjjkjcgaklpmpnhcmieepkiddfen/options.min.html" height="120" width="300" style="border:0">', {
                close: true,
                closeHTML:"",
                containerCss:{
                    backgroundColor:"#000",
                    borderColor:"#000",
                    height:100,
                    padding:0,
                    width:300,
                    height:125
                },
                overlayClose:true,
                opacity:50,
                overlayCss: {backgroundColor:"#000"}
            });

options.min.html:

passMessage:

function passMessage() {
        var value = document.getElementById('speechInput').value;
        var event = "commands"
        $.modal.close();
        chrome.extension.sendRequest({command:value}, function(response) {});
    }

Как видите, модал использует файл options.min.html для создания поля речевого ввода внутри модала.Когда пользователь перестает говорить, вызывается другая функция, значение которой берется из этого поля.Однако $ .modal.close ();Функция на самом деле не закрывает модальный режим, а просто зависает в моей программе и никуда не денется.Мне нужно знать, как обращаться к модалу, созданному в другом месте.

спасибо за любую помощь

1 Ответ

0 голосов
/ 19 мая 2011

Если вы хотите закрыть модальное окно из iframe, используйте следующий JavaScript:

parent.$.modal.close();

Что касается идентификаторов, SimpleModal автоматически добавляет их к элементам диалога: simplemodal-overlay, simplemodal-container и simplemodal-data

...