2017-03-19 2 views
0

Hii Ich muss einen Klick in den ersten Elementen auslösen #first> #second> #third> .element-for-trigger-click, siehe hierEinen Klick auf das erste Element des ersten Elements in ng-repeat im Controller auslösen

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

Frage: Wie ich Ereignis von links Controller bekommen können, finden .Element-for-Trigger-Klick und ein Klick auf der rechten Controller mit nativer js auslösen. enter image description here

Antwort

0

Aro,

so in thread Nachfolgend finden Sie Informationen können wie 'Simulieren' zu Fall über native JS auf bestimmten Element (hart von id) klicken

How to simulate a click with JavaScript?

aber ich wirklich würde diese Art des Ansatzes nicht empfehlen, besonders wenn Sie angularJS verwenden, da es Möglichkeiten gibt, die Kommunikation zwischen Controller und Controller mit der angular lib selbst durchzuführen:

  • Winkel Ereignis-Bus ($ emittieren, $ Broadcast- und $ auf)
  • einen Dienst
  • staatliche Container wie Redux mit Mustern (https://github.com/reactjs/redux)
  • und wahrscheinlich einige mehr.
+0

Hallo @DonCziken, danke für die Antwort, Ja ich stimme absolut mit Ihnen seinen richtigen Weg, um Programmierung zu lernen, aber es ist nicht mein Projekt, ich mache hier nur einige Änderungen wie diese, und ich muss es so schnell wie möglich tun (im nicht Experte Angularjs Entwickler) Wenn Sie jetzt bessere Möglichkeiten haben, bitte helfen Sie mir –

+0

@Aro gut Wenn Sie es nur schnell und schmutzig tun müssen, denke ich, dass Sie nur die Antwort von der Frage anwenden können, zu der ich Sie verlinkt habe. – DonCziken

0

Sie können einen Klick -Ereignis mit:

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

Btw, würden Sie nicht .firstChild verwenden, wenn Sie einfach, dass das Element eine ID wie alle anderen Elemente gab.

+0

Hallo Joey, für was dieser Teil? true, true, Fenster, 1, 0, 0, 0, 0, falsch, falsch, falsch, falsch, 0, null ?? –

+0

Keine Ahnung, ich habe es vom Stapelüberlauf gestohlen – Joey

Verwandte Themen