Javascript 触发对控制器中ng repeat中第一个元素的第一个元素的单击

Javascript 触发对控制器中ng repeat中第一个元素的第一个元素的单击,javascript,angularjs,angularjs-1.6,Javascript,Angularjs,Angularjs 1.6,Hii我需要在第一个元素中触发单击#第一个>#第二个>#第三个>。用于触发单击的元素, 看这里 <div id="first" ng-repeat="competition in prematchGameViewData track by competition.id"> <div id="header">...</div> <div id="details">...</div> <div id="se

Hii我需要在第一个元素中触发单击#第一个>#第二个>#第三个>。用于触发单击的元素, 看这里

<div id="first" ng-repeat="competition in prematchGameViewData track by competition.id">
    <div id="header">...</div>
    <div id="details">...</div>


    <div id="second" ng-repeat="(groupDate, groupGames) in competition.gamesGroupedByDate">     
        <div id="third" ng-repeat="prematchGame in groupGames track by prematchGame.id">
            <div class="element-for-trigger-click"></div>
            ...
        </div>
    </div>
</div>

...
...
...
问题: 如何从左控制器获取事件,查找触发器单击的.element,并使用本机js在右控制器上触发单击。 Aro

所以在下面的线程中,您可以找到如何通过给定元素上的本机JS“模拟”单击事件的信息(根据id)

然而,我真的不推荐这种方法,特别是如果您使用angularJS,因为有一些方法可以与AngularLib本身进行控制器到控制器的通信,如:

  • 使用角度事件总线($emit、$broadcast和$on)
  • 使用服务
  • 使用状态容器模式,如redux()
  • 可能再也没有了

您可以通过以下方式发送点击事件:

var evt = document.createEvent("MouseEvents");
evt.initMouseEvent("click", true, true, window, 1, 0, 0, 0, 0,
    false, false, false, false, 0, null);

var target = document.getElementById('third').firstChild;
target.dispatchEvent(evt);

顺便说一句,如果你只是给这个元素一个像你所有其他元素一样的ID,你就不必使用
.firstChild

嗨,乔伊,这是为了什么?真的,真的,窗口,1,0,0,0,0,假,假,假,假,0,空??不知道,我从stack overflowHi@DonCziken偷来的,谢谢你的回答,是的,我绝对同意你学习编程的正确方法,但这不是我的项目,我只是在这里做一些这样的编辑,我必须尽快完成(我不是angularjs开发者的专家)如果你现在有更好的方法,请帮助me@Aro好吧,如果你只需要快速而肮脏地做这件事,我想你可以应用我给你链接的问题的答案。