我有一个输入文件选择器,我想知道如果没有选择文件,模式何时关闭。我只知道只有在选择或更改文件时才能使用的更改
<input type="file" id="selector">
$("#selector").on("change", function() {
//Changed
});
答案 0 :(得分:2)
试试这个
Div
答案 1 :(得分:0)
打开对话框时,它会获得焦点,因此浏览器窗口失去焦点。关闭对话框后,焦点将恢复。您必须在focus
上订阅window
事件,但由于很多原因,窗口可能会丢失并获得焦点,如果对话框已打开,则必须保留标记。
以下代码适用于:
并且不适用于:
function now() {
return window.performance ? performance.now() : +new Date
}
var isFileDialogOpened = false;
var input = document.querySelector('input');
input.addEventListener('click', function (e) {
console.log('clicked', now())
isFileDialogOpened = true
})
input.addEventListener('blur', function (e) {
console.log('input blur', now())
isFileDialogOpened = true
})
window.addEventListener('focus', function (e) {
if (isFileDialogOpened) {
console.log('closed (window got focus)', now())
isFileDialogOpened = false
}
})
<input type=file>