一尘不染

如何以编程方式触发ngClick

angularjs

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

_ele.click();

要么

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

如何才能做到这一点?


阅读 208

收藏
2020-07-04

共1个答案

一尘不染

语法如下:

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方式的更多信息,请参见此处

如果使用的是 旧版本的angular ,则应使用 trigger 而不是 triggerHandler

如果需要应用停止传播,则可以按以下方式使用此方法:

<a id="myselector" ng-click="clickOnUpload(); $event.stopPropagation();">
  Something
</a>
2020-07-04