![](/img/trans.png)
[英]javascript return false or preventDefault is not working
[英]jQuery preventDefault and return false not working
我正在嘗試實現圖像預覽。 在我遇到需要防止input file
不更改的問題之前,它工作正常。
嘗試更改圖像效果時。 更改為圖像后,嘗試將輸入文件更改為txt
文件。 它警告正確的錯誤,但輸入文件也已更改。
$('body').on('change','.input-preview',function(e){
var ito = $(this);
var img = ito[0].files;
var errs = [];
for(x=0;x<img.length;x++){
if(img[x].type!=='image/jpeg' && img[x].type!=='image/gif' && img[x].type!=='image/png'){
errs.push('Not image.');
break;
}
if(img[x].size>(1024000 * 5)){
errs.push('File is too big.');
break;
}
}
if(errs.length){
e.preventDefault();
alert(errs[0]);
return false;
}else{
previewIt(this, $('.preview-profile'));
}
});
change
事件不可取消。 請參閱MDN上的文檔。
由於change
不是cancelable
事件,因此您可以在要“取消”該項目時手動將其刪除。
以下示例將不接受大小> 1024字節的文件。
$("#fileInput").change(function() { if (this.files[0].size > 1024) { $("#result").text("File size exceeds 1024 bytes"); this.value = ""; } else { $("#result").text("OK"); } });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <input type="file" id="fileInput"/> <div id="result"></div>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.