Ric*_*nns 0 javascript jquery callback thumbnails
可以使用事件检查输入是否未更改change()?
我正在使用<input type='file' />,我想警告用户他自己的行为没有变化.
现在,我刚刚做了一个正常的change()事件:
// fire the thumbnail (img preview)
$("#file-input").on("change", function () {
readURL(this); // create the thumbnail
});
Run Code Online (Sandbox Code Playgroud)
我错过了什么?
Prev Solutuib:
好吧,我找到了一个解决方法,真正的问题是我给用户一个选项来隐藏缩略图,如果他想要,再打开......
但缩略图只会在用户选择图像时打开,这就是问题,因为更改事件会触发此选项打开,因此,如果没有更改,则不会打开缩略图.
所以,当我隐藏缩略图时,我会更改input file 为新的缩略图,使更改事件始终触发.
使用变量存储输入的最后一个值,并与change事件的当前值进行比较,如果它们相同,则不进行任何更改:
var last_value = $("#file-input").val();
$("#file-input").on("change", function () {
if (this.value === last_value) alert('no change');
last_value=this.value;
});
Run Code Online (Sandbox Code Playgroud)
编辑:或者您可以随时将输入标签替换为另一个,如此答案建议:
var $c = $("#container");
var $f1 = $("#container .f1");
function FChange() {
alert("f1 changed");
$(this).remove();
$("<input type='file' class='f1' />").change(FChange).appendTo($c);
}
$f1.change(FChange);
Run Code Online (Sandbox Code Playgroud)