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, время: 23:08. |