2016-10-29 3 views
0

Ich habe die folgende Funktion: -Ereignis nicht in firefox definiert, sondern arbeiten an Chrom

$scope.getBillDetails=function($event){ bill_id=event.target.id

Und ich nenne es in der folgenden Weise auf ng Sie auf: -

<td><button type="button" id="{{user.bill_id}}" href="#mySlider2" data-slide="next" class="btn btn-primary right" ng-click="getBillDetails($event)">View Details</button></td>


Mein Code funktioniert gut in Chrome, aber es ist fehlgeschlagen in Firefox Spruch Ereignis nicht definiert. Kann mir bitte jemand helfen? Ich habe einige andere Beiträge zum selben Thema gesehen, aber keine richtige Lösung gefunden.

+0

'event' ein Microsoft Internet exploder nicht Standard globales Ereignisobjekt ist, dass Chrom in ihrer Weisheit hat entschied sich zu implementieren ... Normalerweise ist das erste Argument für einen Event-Handler ein Event-Objekt, das Sie stattdessen verwenden können (sogar für Chrome und neuere Versionen von IE - also dort ' s nie einen Grund, das nicht-standardmäßige globale Ereignisobjekt zu verwenden, niemals) –

+0

Also wie soll ich die obige Deklaration ändern? – Anirban

+0

Sorry, keine Idee, angularjs scheint die Dinge weniger offensichtlich zu machen –

Antwort

0

das Argument Verwenden Sie benannte als $event

ändern

$scope.getBillDetails=function($event){ 
    bill_id=event.target.id 

Um

$scope.getBillDetails=function($event){ 
    bill_id=$event.target.id 
      // ^^ matches function argument 
+0

Jetzt gibt es $ Event ist undefined – Anirban

+0

erstellen Sie eine [Bunker] (http://plnkr.co/edit/?p=catalogue) Demo, die dies reproduziert – charlietfl

Verwandte Themen