2016-07-24 2 views
1

Моя проблема заключается в том, что javascript не ждет закрытия диалогового окна выбора файла. Я только что нашел решение, объявляющее событие onChange для элемента. Так что работа onChange корректна, но скрипт все еще запускается перед событием onChange. Они асинхронны. Я думаю, может быть, есть способ проверить, нет ли открытия диалога? Пожалуйста, помогите мне, 2 дня моего :)Закрытие диалогового окна Javascript not wait

ответ

2

Если вы хотите перезвонить метод после того, как диалог полностью открыт, вы можете использовать с помощью JQuery Promise объекта, как указано в this ответе:

$("#dialog").dialog({ 
    show: { 
     effect: "drop", 
     direction: "up", 
     duration: 1000 
    }, 
    hide: { 
     effect: "drop", 
     direction: "down", 
     duration: 1000 
    }, 
    open: function() { 
     $(this).parent().promise().done(function() { 
      console.log("[#Dialog] Opened"); 
     }); 
    }, 
    close: function() { 
     $(this).parent().promise().done(function() { 
      console.log("[#Dialog] Closed"); 
     }); 
    } 
}); 

Вот обычный JSFiddle Демо: http://jsfiddle.net/losnir/jcmpm/

+0

Работает ли с файлом Диалог, я применяю код, а затем диалоговое окно не появляется больше :) –

Смежные вопросы