2015-01-29 6 views
1

JQuery триггера («щелчок») не работает на Safari и IE, но работает на Mozilla, хром,JQuery триггера («щелчок») не работает в сафари с угловой JS

Я использую AngularJS и здесь мой фрагмент кода

$scope.browseFile = function() {   
    $('.upfile').trigger('click'); 
    console.log('click','fired browseFile');  

} 

А вот HTML код

<a class="btn-attach pull-left" data-ng-click="browseFile()">Attach <i class="glyphicon glyphicon-paperclip"></i></a><input type="file" name="file" class="upfile" id="upfile" onchange="angular.element(this).scope().uploadFile(this.files)" style="display: none;"/> 
+0

Я не вижу * upfile * класс есть. – Spokey

+0

@Spokey проверьте, пожалуйста, обновленный исходный код – user2659308

ответ

0

его трюк css, и невозможно активировать событие на скрытом элементе на сафари, поэтому я сделал некоторые изменения и вот что - в основном на style-style = "font-size: 1px; opacity: 0; Высота: 1px; ширина: 1px; видимость: скрытый;»и его работа для меня каждый браузер

<input type="file" name="file" class="upfile" id="upfile" onchange="angular.element(this).scope().uploadFile(this.files)" style="font-size:1px;opacity:0; height:1px; width:1px;visibility: hidden;"> 
+0

Он не работает в Safari – BILL

0

попробуйте следующий код:

$('.upfile')[0].trigger('click');