jQuery 文件输入更改未触发

jQuery file input on change not triggering

我绑定了两个单独的事件进行测试,但无论出于何种原因,当我 select 一个文件时,它们都没有触发。我确定我今天没有喝足够的咖啡,但这似乎是检测文件 selection.

的正确方法

HTML:

<input type="file" id="files">

JS:

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

    $("#files").on("change", function() {
        alert("Files changed.");
    });

    $(document).on("change", "#files", function() {
        alert("Files changed.");
    });

});

示例:https://jsfiddle.net/snoapps/66y45hjh/

https://jsfiddle.net/66y45hjh/2/

你的第二个函数是正确的,但是函数的嵌套方式不允许它按照你想要的方式执行。看看我对您的 fiddle.

所做的编辑

我使用的javascript代码如下。

$(function() {
    $(document).on("change", "#files", function() {
        alert("Files changed.");
    });
});
  1. $('document').ready(function(){}); https://api.jquery.com/ready

  2. 您不需要第二个函数

所以:

$(document).ready(function() {

    $("#files").on("change", function() {
        alert("Files changed.");
    });


});