簡體   English   中英

在控制器中的ng-repeat中觸發對第一個元素的第一個元素的單擊

[英]Trigger a click to first element of first element in ng-repeat in controller

您好,我需要在第一個元素中觸發點擊#first> #second> #third> .element-for-trigger-click,請參見此處

<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>

問題:我如何從Left控制器獲取事件,找到.element-for-trigger-click並使用本機js觸發對right控制器的單擊。 在此處輸入圖片說明

阿羅

因此,在以下線程中,您可以找到有關如何通過給定元素上的本機JS“模擬”點擊事件的信息(按ID划分)

如何使用JavaScript模擬點擊?

但是我真的不推薦這種方法,特別是如果您使用angularJS,因為有一些方法可以與角度庫本身進行控制器到控制器的通信,例如:

  • 使用角度事件總線($ emit,$ broadcast和$ on)
  • 使用服務
  • 使用狀態容器的模式,例如redux( https://github.com/reactjs/redux
  • 可能還有更多。

您可以通過以下方式調度click事件:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM