【问题标题】:Angular ng-click not working in divAngular ng-click 在 div 中不起作用
【发布时间】:2014-12-16 19:03:41
【问题描述】:

好吧,我在这里被困了一段时间,我敢肯定这是比较愚蠢的事情

http://plnkr.co/edit/YcBnbE5VCU5rizkDWreS?p=preview

<head>
    <link href="http://twitter.github.com/bootstrap/assets/css/bootstrap.css" rel="stylesheet" type="text/css" />
    <link href="http://twitter.github.com/bootstrap/assets/css/bootstrap-responsive.css" rel="stylesheet" type="text/css" />
    <script src="http://cdnjs.cloudflare.com/ajax/libs/angular.js/1.0.3/angular.min.js"></script>

    <script >
        function myCtrl($scope,  $window) {
            $scope.vm = {};
            $scope.vm.Courses = [
              { Id: 1, Name: "Course 1"},
              { Id: 2, Name: "Course 2"}
              ];
            $scope.OpenCourse = function(courseId) {
                $window.alert("Called " + courseId);
            }
        }
    </script>
</head>
<body ng-controller="myCtrl">
    <div>  
        <div ng-repeat="course in vm.Courses" ng-click="vm.OpenCourse(course.Id)">
            <div>
                <div>
                    <label>{{course.Name}}</label>
                </div>
            </div>
        </div>
    </div>
</body>

为什么 ng-click 没有在这里触发?似乎这个问题被问了很多,但似乎没有一个答案有帮助。看起来将 div 从重复中移出可以使它起作用,但是我不知道为什么。

谢谢

【问题讨论】:

    标签: angularjs angularjs-ng-click


    【解决方案1】:

    删除vm.

    结果:

    <div ng-repeat="course in vm.Courses" ng-click="OpenCourse(course.Id)">
    

    为什么?,因为您设置为 $scope 的所有内容都在部分可用,那么您只需调用它。

    【讨论】:

      【解决方案2】:

      OpenCourse(course.Id) 前面缺少“vm”实际上是我在创建 plunker 时的拼写错误。我已将答案标记为正确,因为它确实导致 plunker 工作,但我的问题不是这个。事实证明,我有一个分配给外部 div 的类正在更改 z-index,将该 div 放在其他 div 的“后面”,并且不允许点击传播。

      【讨论】:

      • 我遇到了类似的问题,即按钮位于
      • 如果其他答案没有真正回答您的问题,请取消选中它。
      • 它确实回答了这个问题。问题是我的问题没有正确表达我的问题
      • 我遇到了类似的问题,更改 z-index 对其进行了排序。谢谢!
      【解决方案3】:

      如果您使用&lt;label&gt;,点击它时您可能会遇到奇怪的行为。如果可能,请尝试将其更改为其他内容并重新测试您的代码。

      【讨论】:

        【解决方案4】:

        改成:

        ng-click="OpenCourse(course.Id)"
        

        Working plunker

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2015-12-31
          • 2018-04-30
          • 1970-01-01
          • 1970-01-01
          • 2017-05-29
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多