input元素type爲file類型,change事件在文件選擇框出來後點擊取消後事件只觸發一次的問題解決。

html:
<input type="file" id="file" />

js:
$('#file').change(function(){
    console.log('change事件');
    })

問題詳細描述:

1.input 爲file類型的時候,在文件選擇框出來後,這時選擇了文件後或是點擊取消都會觸發change事件。
2.在選擇了一個文件以後,再從新選擇同一個文件,這時候就再也不觸發change事件了。html

指望的操做和解決:

1.在文件選擇框出來以後,點擊取消不執行change事件裏的操做-->
獲取$('#file').val()。判斷這個是否爲空,爲空的話直接return;code

eg:
$('#file').change(function(){
    if($('#file').val() == '')
        return;
    console.log('change事件');
    })

2.選擇同一個文件以後,還能再出發change事件。-->
清空上一次觸發change事件後 input的value便可。htm

eg:
$('#file').change(function(){
    if($('#file').val() == '')
        return;
    console.log('change事件');
        $('#file').val('') // 清空原有的數據
    })
相關文章
相關標籤/搜索