0
我正在构建文件上传的模式。它在第一次尝试时工作得很好,然后第二次上传图像两次,第三次尝试三次,等等。这可能是一些基本的东西,但我不知道如何防止这种情况。javascript addEventListener注册以前的更改
基本上什么导致我的问题是事件监听器的行为:
document.getElementById('upfile').addEventListener('change', askForTags, false);
测试用例是在这里:http://jsfiddle.net/mMJes/2/
警报将在第一次上传展示一次,然后如何停止该行为两次等?
全码:
document.getElementById('upfile').addEventListener('change', askForTags, false);
function askForTags(evt) {
$('.add-tags-section').show();
$("#submit-tags").click(function() {
tags = $('#add-tags-input').val();
$('.add-tags-section').hide();
handleFileSelect(evt);
});
}
function handleFileSelect(evt) {
alert('here');
}
谢谢,但做这种方式,我们通过不同的事件handleFileSelect(EVT)。没有附加到此事件的文件,我使用FileReader将选定的图像转换为二进制文件,所以我无法使用它。我接受了不同的答案,但很快就被删除了。演示它:http://jsfiddle.net/kcFZn/ – boszlo
@ user1590158:文件不是直接从'input type =“file”'元素? –
...或通过事件对象提交表单时?必须绑定/取消绑定类似的点击处理程序似乎很奇怪。 –