Это, как я был в состоянии вызвать нажатие кнопки при загрузке страницы.
<li ng-repeat="a in array">
<a class="button" id="btn" ng-click="function(a)" index="$index" on-load-clicker>
{{a.name}}
</a>
</li>
Простая директива, которая принимает индекс от нг-повтора и использует условие для вызова первой кнопки в индексе и нажмите на нее при загрузке страницы.
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);
}
}
};
});
Это был единственный способ, с помощью которого я мог автоматически запускать автоматический клик в первую очередь.angular.element(document.querySelector('#btn')).click();
Не работает с контроллера, поэтому эта простая директива кажется наиболее эффективной, если вы пытаетесь запустить щелчок на загрузке страницы, и вы можете указать, какую кнопку нажать, пройдя в индексе. Я получил помощь через этот ответ переполнения стека из другой ссылки: https://stackoverflow.com/a/26495541/4684183 Директива onLoadClicker.
Можете ли вы опубликовать код, который вы пробовали. – lucuma
Вы хотите сказать, что хотите вызвать событие click через код? Почему вы хотите это сделать? – tamakisquare
Я пытаюсь отобразить изображения в списке. Я хочу показать первое изображение по умолчанию при загрузке страницы. Пожалуйста, см. Плункер ниже. На данный момент я делаю это с помощью функции тайм-аута jQuery, которая не является оптимальным решением, но нужно изменить ее на угловые. http://plnkr.co/edit/CVnp9FKcIMr7GoSpfcoX – ayimos