如何在jQuery中的input type = file上处理onchange事件?

anm*_*rti 45 html javascript jquery events input

代码是:

<input ID="fileUpload1" runat="server" type="file"
Run Code Online (Sandbox Code Playgroud)

以下工作正常:

<input onchange="javascript:alert('hola');" ID="fileUpload1"  runat="server" type="file"
Run Code Online (Sandbox Code Playgroud)

我想使用jQuery获得此结果,但这不起作用:

$('#fileUpload1').change(function (e) {
    alert("hola");
});
Run Code Online (Sandbox Code Playgroud)

我错过了什么?(编辑:是的,我错过了包含*.js文件.)

Sha*_*m K 115

演示:http://jsfiddle.net/NbGBj/

$("document").ready(function(){

    $("#upload").change(function() {
        alert('changed!');
    });
});
Run Code Online (Sandbox Code Playgroud)


小智 11

或者可能是:

$('input[type=file]').change(function () {
    alert("hola");
});
Run Code Online (Sandbox Code Playgroud)

再具体一点: $('input[type=file]#fileUpload1').change(...


Sim*_*mon 5

这个jsfiddle对我来说效果很好。

$(document).delegate(':file', 'change', function() {
    console.log(this);
});
Run Code Online (Sandbox Code Playgroud)

注意:.delegate() 是 jQuery < 1.7 最快的事件绑定方法:事件绑定方法