Jquery更改事件不起作用

时间:2013-05-21 15:31:37

标签: javascript jquery html

我有html:

<form id="fileuploadform">
    <input type="file" id="fileupload" name="fileupload" />
</form>

和jquery:

$(':file').change(function(){
    var file = this.files[0];
    ...
});

问题是:仅当文件选择与先前所做的选择不同时,才会触发更改功能。这当然是“改变”事件的意义。 我希望在文件对话框关闭的情况下调用我的函数,无论如何。

我尝试使用'select'事件 - 它永远不会被称为

我也尝试过:

$(':file').bind('dialogclose', function(event) {
    alert('closed');
});

$(':file').live("dialogclose", function(){
    alert('closed1');
}); 

他们也没有工作。

3 个答案:

答案 0 :(得分:4)

尝试使用此代码。

$('#fileupload').on('change', function () {
    alert('Hi');
    //do your function.
});

此功能只会调用您选择的其他文件,否则不会。

答案 1 :(得分:4)

我知道这是一个旧帖子,但尝试使用'输入'而不是'更改'。为我工作。 :)

$('#fileupload').on('input', function () {
  alert('Hi');
});

答案 2 :(得分:1)

当我使用jQuery动态附加HTML时,我遇到了同样的问题。

我建议您使用以下解决方案

$(document).on('input','#fileupload', function () {
  console.log('Your Code')
});