2015-01-26 25 views
5

Tôi biết câu hỏi này đã được hỏi nhiều lần trên SO, nhưng tôi không thể tìm thấy câu trả lời nàong-click không hoạt động trong firefox

Tôi có chỉ thị chịu trách nhiệm tải lên tệp.

Đây là mã của chỉ thị của tôi:

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>' 
       } 
      [...] 

Và vào bộ điều khiển của tôi, tôi có đoạn mã sau:

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

Những gì tôi đã cố gắng:

As far as ng-click của tôi là bên trong một ng-lặp lại, tôi đã tự hỏi nếu nó không liên quan đến thừa kế phạm vi. Tôi đã cố gắng này, với kết quả tương tự (làm việc trong chrome nhưng không phải trong firefox)

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

Tôi cũng đã sửa đổi các chức năng điều khiển như vậy:

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

    } 
    $scope.remove = remove; 

Nó cũng đã làm việc trên chrome , nhưng không phải trong firefox

lưu ý rằng tôi không gặp bất kỳ lỗi nào trong bảng điều khiển. Tại thời điểm này, tôi không biết tôi có thể kiểm tra/làm gì để hiểu lỗi này

+1

thử thêm href = "" để bạn một số phiên bản của FF không dùng chuột sự kiện trên thẻ neo trừ khi họ có một href, bạn cũng có thể sử dụng một nút và phong cách nó như một neo, thats tương thích hơn và ngữ nghĩa chính xác kể từ khi neo có nghĩa là để được liên kết –

+0

@DayanMorenoLeon Thx, bạn chỉ cho tôi vấn đề mà không biết. Neo của tôi ở trong một cái nút. Vì vậy, tôi deplaced các ng-click –

+0

tôi thậm chí không nhận thấy tôi chỉ giả định bạn sẽ không làm một cái gì đó như thế .. –

Trả lời

5

Có vẻ như không tốt khi có một số <a> bên trong một <button>.

tôi đặt câu trả lời ở đây, chúng ta không bao giờ biết nếu ai đó có thể làm cho các lỗi như ngu ngốc như tôi ;-)

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

Điều gì nếu bạn muốn các nhấp chuột vào một và không phải là nút mặc dù? Rồi sao? –

+1

@SachinKainth Bạn xóa nút –

Các vấn đề liên quan