使用jQuery

时间:2017-12-19 12:55:44

标签: javascript jquery

我在jQuery中使用文件上传时使用trigger('click')。我在下面提供我的代码。

$(document).on('click', '.browse', function(){
   var file = $(this).parent().parent().parent().find('.file');
   file.trigger('click');
   console.log('header');
 })

我的html部分如下所示。

<div class="form-group" style="margin-bottom:0px;">
<input type="file" name="logoimage" id="logoimage" ng-model= "form.logoimage" onchange="angular.element(this).scope().uploadedImage(this);" accept=".gif,.jpg,.jpeg,.png" class="file">
<div class="input-group col-xs-12">
<input type="text" class="form-control" placeholder="Upload Logo" name="setlogoimage" id="setlogoimage" ng-model="setlogoimage">
<span class="input-group-btn">
<button class="browse btn btn-primary" type="button">Upload File</button></span> 
    </div>
</div>

如果我点击文件输入,上面的功能正在执行3/2次,我可以通过控制台消息知道它。同时点击header即将进行3次,因此我必须在从光盘中选择文件后再点击打开按钮3次。在这里,我需要一次点击执行一次。

1 个答案:

答案 0 :(得分:0)

由于您的点击事件多次绑定,您可以使用off('click')

$('.browse').off('click').on('click', function(){
  var file = $(this).parent().parent().parent().find('.file');
  file.trigger('click');
  console.log('header');
});