我在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次。在这里,我需要一次点击执行一次。
答案 0 :(得分:0)
由于您的点击事件多次绑定,您可以使用off('click')
$('.browse').off('click').on('click', function(){
var file = $(this).parent().parent().parent().find('.file');
file.trigger('click');
console.log('header');
});