2016-11-18 3 views
0

I Aufzeichnungen ist Bindung in folgenden Weise divHighlight/Trigger-Click-Ereignis für div

<div class="well" id="divQuestionList"> 
<div class="jarviswidget"> 
    @if ((ViewBag.classDiscussion as List<LMS_ClassDiscussionListViewModel>).Count > 0) 
    { 
     @foreach (var item in ViewBag.classDiscussion as List<LMS_ClassDiscussionListViewModel>) 
     { 
      <div id="[email protected]" class="fc-content" onclick="GetDiscussionDetails(@item.ClassDiscussion.ClassDiscussionID);" data-divtoggle="0" role="button"> 
       <b>@item.ClassDiscussion.DiscussionTitle</b> 
       <div class="unsortable widget-toolbar hidden-phone"> 
        <div class="unsortable divider dark"> 
         <label id="[email protected]">@item.ReplyCount @objLocalizer["ClassDiscussionResponses"]</label> 

        </div> 
       </div> 
      </div> 
      <div id="[email protected]" style="display:none;"> 
       <div class="chat-body no-padding profile-message"> 
        <ul id="[email protected]"></ul> 
       </div> 
      </div> 
     } 
    } 

und in Controller Ich habe ID von div in der Sitzung gespeichert, für die Click-Ereignis ausgelöst werden muss, ODER müssen hervorgehoben werden.

Also, meine Frage ist, wie kann ich den Klick das Click-Ereignis für die verwandte div auslösen?

Ich habe in Dokument.Ready-Funktion versucht, aber es löst das Ereignis jedes Mal die Seite aktualisiert wird. Ich möchte das Event nur zum ersten Mal/nur einmal auslösen.

<script type="text/javascript"> 
    $(document).ready(function() { 
      $('#divQuestion_1').trigger('click'); 

    }); 
</script> 

Also, was ist der beste Weg, es zu tun?

Antwort

1

ich hoffe Ihre Antwort hier. siehe diese Geige trigger Anruf. und die Funktion kann ausgeführt werden.

Hinweise: ersetzen ID id="[email protected]"Umid="divQuestion_1", weil ich html ausführen, und ich erstellen Demo für Sie. Trigger gearbeitet und Funktion Aufruf ..

Live DemoHere

Snippet Beispiel

function GetDiscussionDetails() { 
 
    alert(' GetDiscussionDetails Function is call'); 
 
} 
 
$(document).ready(function() { 
 
    $('#divQuestion_1').trigger('click'); 
 

 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="well" id="divQuestionList"> 
 
    <div class="jarviswidget"> 
 

 
    <div id="divQuestion_1" class="fc-content" onclick="GetDiscussionDetails()" data-divtoggle="0" role="button"> 
 
     <b>@item.ClassDiscussion.DiscussionTitle</b> 
 
     <div class="unsortable widget-toolbar hidden-phone"> 
 
     <div class="unsortable divider dark"> 
 
      <label id="[email protected]">@item.ReplyCount @objLocalizer["ClassDiscussionResponses"]</label> 
 

 
     </div> 
 
     </div> 
 
    </div> 
 
    <div id="divContent_2" style="display:none;"> 
 
     <div class="chat-body no-padding profile-message"> 
 
     <ul id="[email protected]"></ul> 
 
     </div> 
 
    </div> 
 
    </div> 
 
</div>

+0

Ja, ich habe auf die gleiche Weise getan, aber unter welcher Bedingung muss ich das Ereignis auslösen und wenn die Seite aktualisiert wird, wird der Trigger erneut aufgerufen, wenn in Dokument geschrieben. Bereit, was ich nicht will – Rohit

0

Versuchen zu verwenden Delegierten f oder generierendes Klick-Ereignis von div Tag. wie: $ ('body') delegates ('# divQuestionList', 'click', function() {// schreibe deinen Code});

+0

Wann wird das ausgelöst? Nach Abschluss meiner For-Schleife? – Rohit

+0

Wenn Sie auf div-Tag klicken, funktioniert es wie ein normales Klickereignis. –

+0

Und wenn Datensätze zu div aufgefüllt werden, wird das Ereignis automatisch ausgelöst? – Rohit