return element.onchange
Подскажите, как реализовать такую функцию?
function openDialog(){ var a = document.createElement('input'); a.type="file"; a.onchange = function(){ //Вернуть this.value } a.click(); return //Тот самый this.value; a.value возвращает "" перед закрытием окна } } Использование: var file = openDialog(); |
Пробовал использовать alert() как блокирующее действие...
Цитата:
|
Реализовать собственный диалог ведущий себя аналогично prompt не получится. Так что придется переписывать весь код в асинхронном виде.
|
не вариант
Нужно хотя бы псевдосинхронный вид, что бы дождаться ответа и уже тогда выполнить return... |
function openDialog() { return new Promise(resolve => { var a = document.createElement('input'); a.type="file"; a.onchange = function(){ resolve(e.value); }; a.click(); }); } openDialog().then(value => { console.log(value); }); |
Пробовал и такой вариант...
Как я понимаю, использовать как openDialog() не выйдет... Хотя у меня есть идея приостановить код, пока не получится ответ, но не знаю, как это реализовать... |
Часовой пояс GMT +3, время: 05:35. |