Материалы. Как отловить событие отмены окна выбора файла в JavaScript
5 лет назадМетки: javascript, программирование, js событие в выбаре файлов нажато отмена, close select file dialog event jsПотребовалось на работе отловить закрытие окна выбора файла у <input type="file" id="input">
Погуглив большие и страшные решения, нашёл одно простое, но не работающее, точнее работающее но с опозданием в 1 цикл открытия окна.
После чего переписал его вот в такой.
var input = document.getElementById('input') input.addEventListener('click',enter) function enter() { document.body.addEventListener('focusin',leave) } function leave() { setTimeout(function(){ if(input.value.length) alert('Есть файлы') else alert('Файлов нет') document.body.removeEventListener('focusin',leave) },100) }
Суть метода, в момент нажатия на выбор файла, подписываемся на событие возвращения к странице. После возвращения с задержкой в 100ms (можно и меньше, но не 0), проверяем что в поле выбора. Если там ничего нет, значит выбор был отменён.
Ссылка для тестирования: http://jsfiddle.net/kb52n3cs/6/