我想在运行时触发元素的ng-click,例如:

_ele.click();

或者
_ele.trigger('click', function());

如何才能做到这一点?

最佳答案

语法如下:

function clickOnUpload() {
  $timeout(function() {
    angular.element('#myselector').triggerHandler('click');
  });
};

// Using Angular Extend
angular.extend($scope, {
  clickOnUpload: clickOnUpload
});

// OR Using scope directly
$scope.clickOnUpload = clickOnUpload;

有关Angular Extend way here的更多信息。

如果您使用的是旧版本的angular ,则应使用触发器而不是 triggerHandler

如果需要应用停止传播,则可以按以下方式使用此方法:
<a id="myselector" ng-click="clickOnUpload(); $event.stopPropagation();">
  Something
</a>

10-06 00:11