2015-01-26 17 views
5

Wiem, że to pytanie zostało zadane kilka razy na SO, ale nie mogłem znaleźć żadnej odpowiedzing kliknięcie nie działa w firefox

Mam dyrektywę, która jest odpowiedzialna z przesłanych plików.

Oto kod mojego dyrektywy:

var directive = { 
     restrict: 'AE', 
     scope: { 
      settings: '=' 
     }, 
     controller: 'fileUploaderCtrl', 
     replace: true, 
     template: '<div class="fileTransferContainer uploadContainer" ng-file-drop="onFileSelect($files)" ng-file-drag-over-class="dropBox">\ 
         <fieldset>\ 
          <legend>Uploads in progress</legend>\ 
          <div ng-repeat="file in selectedFiles" class="fileTransfer">\ 
           <span class="up_fileSize"> {{file.size/1024 | number:2}}KB</span>\ 
           <span>{{file.sizeUploaded()}}</span>\ 
           <div class="progressContainer">\ 
            <div class="up_actions">\ 
             <span>\ 
              <button>\ 
               <a ng-click="remove($index)" class="small_icon white_delete"></a>\ 
              </button>\ 
             </span>\ 
            </div>\ 
           </div>\ 
          </div>\ 
         </fieldset>\ 
        </div>' 
       } 
      [...] 

I w moim kontrolera, mam następujący kod:

$scope.remove = function (index) { 
     debugger; 
     $scope.selectedFiles.splice(index, 1); 
     $scope.sendUpdatedModel(); 
    } 

co już próbowałem:

miarę mój ng-click jest wewnątrz powtórzenia ng, zastanawiałem się, czy nie był on związany z dziedziczeniem zakresu. Próbowałem to, z tych samych wyników (pracujących w Chrome, ale nie w Firefox)

ng-click="$parent.remove($index)" 

Ja również zmodyfikowanych funkcji kontrolera w ten sposób:

function remove(index) { 
      $scope.selectedFiles.splice(index, 1); 
      $scope.sendUpdatedModel(); 

    } 
    $scope.remove = remove; 

Został on również pracuje na chromie , ale nie w firefox

Zauważ, że nie mam żadnego błędu w konsoli. W tym momencie nie mam pojęcia, co mogę sprawdzić/zrobić, aby zrozumieć ten błąd.

+1

spróbuj dodać href = „” do niektórych wersjach FF nie biorą myszki zdarzenia na znacznikach zakotwiczających, chyba że mają href, możesz również użyć przycisku i nadać mu styl, jako bardziej kotwiczny, który jest bardziej kompatybilny i semantycznie poprawny, ponieważ kotwice mają być linkami –

+0

@DayanMorenoLeon Thx, wskazałeś mi problem bez wiedzy. Moja kotwica znajdowała się wewnątrz przycisku. Więc usunąłem ng-kliknięcie –

+0

, którego nawet nie zauważyłem, po prostu założyłem, że nie zrobiłbyś czegoś takiego .. –

Odpowiedz

5

Wygląda na to, że nie jest dobrze mieć <a> wewnątrz <button>.

umieścić odpowiedź tutaj, nigdy nie wiem, czy ktoś może mieć błędy głupi jak mój ;-)

   <button ng-click="remove($index)" >\ 
        <a class="small_icon white_delete"></a>\ 
       </button>\ 
+0

Co jeśli chcesz kliknąć na przycisk a nie przycisk? Co wtedy? –

+1

@SachinKainth Usuwasz przycisk –

Powiązane problemy