javascript - ng-click 在 firefox 中不起作用

标签 javascript angularjs firefox

我知道这个问题在 SO 上被问过多次,但我找不到任何答案

我有一个负责文件上传的指令。

这是我的指令代码:

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

在我的 Controller 中,我有以下代码:

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

我尝试过的:

就我的 ng-click 在 ng-repeat 内部而言,我想知道它是否与范围继承无关。我试过这个,结果相同(在 chrome 中工作但在 firefox 中不工作)

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

我也以这种方式修改了 Controller 功能:

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

    }
    $scope.remove = remove;

它也适用于 chrome,但不适用于 firefox

请注意,我在控制台中没有任何错误。在这一点上,我不知道我可以检查/做什么来理解这个错误

最佳答案

看来<a>不是很好在 <button> 里面.

我把答案放在这里,我们永远不知道是否有人会像我一样犯错误 ;-)

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

关于javascript - ng-click 在 firefox 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28153317/

相关文章:

javascript - 尝试在文档就绪中生成随机背景颜色

javascript - 每次状态变化时的 Ionic Run 函数

angularjs - 更改资源的基本 URL

css - webkit 上的-moz-background-inline-policy

css - 如何在 Firefox 中更正边栏的固定位置?

css - 更改网页上的光标

javascript - 在 IE 中隐藏 CSS 下拉菜单

javascript - Cytoscape.js:将渲染位置转换为模型位置

javascript - 有没有办法从以前的链访问 jQuery 对象?

javascript - 从方法中读取 AngularJS 中的 $Cookies