Jquery单击不是触发器文件输入单击

时间:2014-12-27 09:45:07

标签: javascript jquery

Jquery点击事件不仅触发输入类型文件。为什么呢?

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

$(function(){    
    setTimeout(function(){
        $("#file").click();
        console.log("clicked");
    },2000);
})

http://jsfiddle.net/aafwm4nt/

3 个答案:

答案 0 :(得分:0)

您必须在文件点击功能中编写console.log("clicked");,如下所示

$("#file").click(function(){
  setTimeout(function(){
            console.log("clicked");
    },2000);
});

<强> JS Fiddle

答案 1 :(得分:0)

尝试将框架设置为jQuery。您链接的jsfiddle将框架设置为纯javascript。

我把它设置为:

enter image description here

你的代码工作正常。

答案 2 :(得分:0)

Sadikhasan的答案将从第二次点击开始工作..您可能想要将其更改为:

$(function () {
    $("#file").click(function () {
        setTimeout(function () {
            console.log("clicked");
        }, 2000);
    });
});

但要点击文件输入触发某些内容是个坏主意我建议使用change eventListener:

  $(function () {
        $("#file").change(function () {
                console.log("clicked");
        });
    });