Я хочу вызвать ng-click
элемент во время выполнения, например:
_ele.click();
ИЛИ
_ele.trigger('click', function());
Как это может быть сделано?
javascript
jquery
angularjs
angularjs-ng-click
mulla.azzi
источник
источник
Ответы:
Синтаксис следующий:
Подробнее о способе расширения Angular здесь .
Если вы используете старые версии angular , вам следует использовать trigger вместо triggerHandler .
Если вам нужно применить остановку распространения, вы можете использовать этот метод следующим образом:
источник
triggerHandler
вместоtrigger
РЕДАКТИРОВАТЬ: Похоже, вам нужно выйти из текущего цикла $ apply (). Один из способов сделать это - использовать $ timeout ():
См. Скрипку: http://jsfiddle.net/t34z7/
источник
$timeout
а неsetTimeout
, поскольку$timeout
при необходимости запустит$apply
цикл за вас. Это также делает ваш код более тестируемым, поскольку ngMock дает вам полный контроль над выполнением$timeout
s. docs.angularjs.org/api/ng/service/$timeout$timeout(fn, 0, false);
так, чтобы не вызывать $ apply, не так ли?$timeout
- это сервис, и поэтому его необходимо внедрить в зависимости, прежде чем вы сможете его использовать docs.angularjs.org/api/ng/service/$timeoutДля меня работает следующее решение:
вместо того :
источник
$('#element').click()
На всякий случай, если все это видят, я добавил дополнительный дублирующий ответ с важной строкой, которая не нарушит распространение события.
источник
У меня сработало использование простого старого JavaScript:
document.querySelector('#elementName').click();
источник
Лучшее решение - использовать:
Потому что события click angularjs triggerHandler (
angular.element(domElement).triggerHandler('click')
) не всплывают в иерархии DOM, а то, что выше, - точно так же, как обычный щелчок мыши.https://docs.angularjs.org/api/ng/function/angular.element
http://api.jquery.com/triggerhandler/
https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/click
источник
Вы можете сделать как
источник
Простой образец:
HTML
JavaScript
Это ищет кнопку
id
и выполняет действие щелчка. Вуаля.Источник: https://techiedan.com/angularjs-how-to-trigger-click/
источник
Этот код не будет работать (выдает ошибку при нажатии):
Вам нужно использовать querySelector следующим образом:
источник
Включите следующую строку в свой метод там, где вы хотите вызвать событие щелчка
источник