trigger click event from angularjs directive

后端 未结 4 2038
清歌不尽
清歌不尽 2021-02-02 10:05

How can i trigger a click event for li elements specifying their index from the angularjs directive? I have tried using $first for triggering click for the first element, but it

4条回答
  •  梦谈多话
    2021-02-02 10:27

    This is how I was able to trigger a button click when the page loads.

  • {{a.name}}
  • A simple directive that takes the index from the ng-repeat and uses a condition to call the first button in the index and click it when the page loads.

    angular
        .module("myApp")
            .directive('onLoadClicker', function ($timeout) {
                return {
                    restrict: 'A',
                    scope: {
                        index: '=index'
                    },
                    link: function($scope, iElm) {
                        if ($scope.index == 0) {
                            $timeout(function() {
    
                                iElm.triggerHandler('click');
    
                            }, 0);
                        }
                    }
                };
            });
    

    This was the only way I was able to even trigger an auto click programmatically in the first place. angular.element(document.querySelector('#btn')).click(); Did not work from the controller so making this simple directive seems most effective if you are trying to run a click on page load and you can specify which button to click by passing in the index. I got help through this stack-overflow answer from another post reference: https://stackoverflow.com/a/26495541/4684183 onLoadClicker Directive.

提交回复
热议问题