简体   繁体   English

角度触发器js'onclick'事件

[英]Angular trigger js 'onclick' event

I'm trying to trigger an 'onclick' event inside of an angular controller. 我试图在角度控制器内触发'onclick'事件。

<div id="galerie">
    <h2>{{main.Page.title()}}</h2>
    <hr>

    <div class="row">
        <div class="col-sm-4 col-xs-6" ng-repeat="i in page.getLans() track by $index">
            <a ng-click="page.selectGalerie($index+1)" href>Playground Vol.{{$index+1}}</a>
        </div>
    </div>

    <div id="links">
        <a id="galerieLink_{{$index}}" href="img/galerie/pg{{page.galerie.volume}}/{{file}}" ng-repeat="file in page.galerie.files">{{$index}} </a>
    </div>

    <div id="blueimp-gallery" class="blueimp-gallery blueimp-gallery-controls">
        <div class="slides"></div>
        <h3 class="title"></h3>
        <a class="prev">‹</a>
        <a class="next">›</a>
        <a class="close">×</a>
        <a class="play-pause"></a>
        <ol class="indicator"></ol>
    </div>
</div>

<script>
    document.getElementById('links').onclick = function (event) {
        event = event || window.event;
        var target = event.target || event.srcElement;
        var link = target.src ? target.parentNode : target;
        var options = {index: link, event: event};
        console.log(options);
        var links = this.getElementsByTagName('a');
        blueimp.Gallery(links, options);
    };
</script>

I was trying it this way inside my controller: 我在我的控制器中尝试这种方式:

angular.element('#galerieLink_0').trigger('click');

But it doesn't work. 但它不起作用。

Angular is not jquery. Angular不是jquery。 functionality belongs in the controller. 功能属于控制器。

 var app = angular.module("app", []); app.controller("foo",["$scope",function($scope){ $scope.clickCount = 0; $scope.counter = function() { $scope.clickCount++; } }]); 
 <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> <div ng-app="app" ng-controller="foo"> <div ng-bind="clickCount"></div> <button ng-click="counter()" >+1</button> </div> 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM