检查输入是否未更改

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 为新的缩略图,使更改事件始终触发.

ade*_*neo 5

使用变量存储输入的最后一个值,并与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)