如何触发模拟点击ng点击jQuery

时间:2014-04-01 05:49:52

标签: angularjs

如何有像

这样的链接
<a href="" ng-click="someAction()">Some text</a>

我想从jQuery调用ngClick动作:

$('a').click()

但它不起作用:someAction()未被调用。也没有工作

$('a').trigger('click')

是否可以从jQuery调用someAction()

4 个答案:

答案 0 :(得分:4)

没关系应用周期和超时,你在这里:

$('a').dispatchEvent(new MouseEvent('click', {
 'view': window,
 'bubbles': true,
 'cancelable': true
}));

答案 1 :(得分:4)

我认为它不起作用很奇怪,我让它与两者合作

angular.element('a[ng-click="someAction()"]')

$('a[ng-click="someAction()"]')

作为选择器,click()trigger('click')都可以触发clickhandler。

参见http://plnkr.co/edit/6VMavwVImXAonSp8xZrI?p=preview (观看控制台)

答案 2 :(得分:0)

是的,你可以,但你应该分配一个id:

<a id='Button'>SOMETEXT</a>

$("#Button").click(function() {
   alert('clicked');
   someAction();
);

这应该解决它。

答案 3 :(得分:0)

以旧方式为我工作 for bucket_name in $(aws s3api list-buckets --query "Buckets[].Name" --output text); do echo ${bucket_name} encryption_info=$(aws s3api get-bucket-encryption \ --bucket ${bucket_name} 2>/dev/null) if [[ $? != 0 ]]; then echo " - no-encryption" else echo " - ${encryption_info}" fi done