为了账号安全,请及时绑定邮箱和手机立即绑定

如何以编程方式触发ngClick

如何以编程方式触发ngClick

波斯汪 2019-11-11 13:08:06
我想ng-click在运行时触发一个元素,例如:_ele.click();要么_ele.trigger('click', function());如何才能做到这一点?
查看完整描述

3 回答

?
翻过高山走不出你

TA贡献1875条经验 获得超3个赞

语法如下:


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,则应使用trigger而不是triggerHandler。


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


<a id="myselector" ng-click="clickOnUpload(); $event.stopPropagation();">

  Something

</a>


查看完整回答
反对 回复 2019-11-11
?
慕码人2483693

TA贡献1860条经验 获得超9个赞

以防万一大家看到的是,我添加了一个重要的行,它不会破坏事件传播,它附加了重复的答案


$scope.clickOnUpload = function ($event) {    

    $event.stopPropagation(); // <-- this is important


    $timeout(function() {

        angular.element(domElement).trigger('click');

    }, 0);

};


查看完整回答
反对 回复 2019-11-11
  • 3 回答
  • 0 关注
  • 677 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信