我一直在尝试使用另一个元素中的angular ng-click触发我的输入元素中的click事件,就像这样:
控制器
我知道这里还有其他类似的问题,但我已经尝试使用他们提供的方法(其中一堆显示了我正在使用的相同代码),例如: 但即使使用这些方法,或者使用像这样的指令:
我不断收到这个错误:
html
<div class="myClass" ng-click="vm.selectImage()" nv-file-drop uploader="vm.uploadImage">
Drop your image here
</div>
<div ng-hide="!hideInput">
<input type="file" id="imgSelect" nv-file-selec uploader="vm.uploadImage" />
</div>
控制器
vm.selectImage= selectImage;
function selectImage() {
angular.element('#imgSelect').trigger('click');
};
我知道这里还有其他类似的问题,但我已经尝试使用他们提供的方法(其中一堆显示了我正在使用的相同代码),例如: 但即使使用这些方法,或者使用像这样的指令:
.directive('selectImg', selectImg);
function selectImg() {
return {
restrict: 'A',
link: function(scope, element) {
element.bind('click', function(e) {
//option 1
angular.element(e.target).siblings('.imgSelect').trigger('click');
//option 2
angular.element( document.querySelector( '#imgSelect' ) ).trigger('click');
//option 3
var myEl = angular.element( document.querySelector( '#imgSelect' ) );
myEl.trigger('click');
//option 4
angular.element('#imgSelect').trigger('click'); //angular way
});
}
};
};
我不断收到这个错误:
这是一个演示此错误的 Plunker:http://plnkr.co/edit/rWcCbixwFArYhCxUVTsv?p=preview 问题出在哪里?错误:[jqLite:nosel] http://errors.angularjs.org/1.5.0-beta.1/jqLite/nosel