So che questa domanda è stato chiesto più volte su SO, ma non sono riuscito a trovare una rispostang-click non funziona in Firefox
Ho una direttiva che è responsabile del caricamento dei file.
Ecco il codice della mia direttiva:
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>'
}
[...]
E nel mio controller, ho il seguente codice:
$scope.remove = function (index) {
debugger;
$scope.selectedFiles.splice(index, 1);
$scope.sendUpdatedModel();
}
Quello che ho provato:
Per quanto riguarda il mio ng-click è all'interno di una ng-repeat, mi stavo chiedendo se non fosse correlato all'ambito dell'ereditarietà. Ho provato questo, con gli stessi risultati (che lavorano in cromo, ma non in Firefox)
ng-click="$parent.remove($index)"
Ho anche modificato la funzione di controllo in questo modo:
function remove(index) {
$scope.selectedFiles.splice(index, 1);
$scope.sendUpdatedModel();
}
$scope.remove = remove;
E 'stato anche lavorando su Chrome , ma non in firefox
nota che non ho alcun errore nella console. A questo punto, non ho idea di cosa posso controllare/fare per capire questo errore
prova ad aggiungere href = "" per i vostri alcune versioni di FF non prendono il mouse eventi su tag di ancoraggio a meno che non abbiano un href, puoi anche usare un pulsante e stile come un ancoraggio, questo è più compatibile e semanticamente corretto dal momento che gli ancoraggi sono intesi come collegamenti –
@DayanMorenoLeon Thx, tu mi hai indicato il problema senza saperlo. La mia ancora era dentro un bottone. Così ho deplaced il ng-click –
non mi sono nemmeno accorto ho solo pensato che non avresti fatto qualcosa del genere .. –