繁体   English   中英

如何在动态创建的输入类型“文件”上触发点击事件?

[英]How do I trigger click event on dynamically created input type 'file'?

我正在尝试将“文件”类型的输入动态添加到表单。 实际上,最终用户可以向表单添加任意数量的文件,因此需要一个数组概念。 我可以注入动态元素,但无法弄清楚如何动态调用刚刚注入的输入元素的点击。 另外,如果用户在输入元素上选择“取消”,则需要删除动态元素。

我创建了一个显示注入的jsfiddle ,但是在运行触发器时click事件从不触发。

注入此元素后如何触发“点击”事件?

jsFiddle HTML

<input id='button1' type='button' value='button1'>
<div class='container'>

</div>

jsFiddle JavaScript

$(document).ready(function () {
    $('#button1').on('click', function(event) {
    Button1_Click(event);
  });
});

function Button1_Click(event) {
    var container = $('.container');
  var containerChildren = $(container).children();
  var containerChildrenCount = $(containerChildren).length;
  var inputId = 'fileInput[' + containerChildrenCount + ']';
    $('.container').append('<input id="' + inputId + '" type="file" />');
  $('#' + inputId).trigger('click');
}

尝试从inputId变量中删除[]

通过将其更改为

var inputId = 'fileInput-' + containerChildrenCount

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM