ng-click in指令在IE中不起作用,但在Chrome中有效

时间:2014-12-04 02:24:23

标签: angularjs angularjs-directive

我不确定这是否是一个已知的错误(甚至是一个错误...)但是我无法在角度问题列表中找到它,也许我做错了什么:

.directive('clickTest', function () {
    return {
        transclude: true,
        template: '<div ng-click="click()" style="width:200px; height:200px;">Click me<div ng-transclude></div></div> Clicked {{clicked}} times',
        controller: function($scope, $element){
            $scope.clicked = 0;
            $scope.click = function() {
                $scope.clicked++;
            }
        }
    }

所以我基本上将指令添加到我页面上的元素中。该指令在模板中具有ng-click处理程序并转换现有元素。 ng-click运行click()函数,该函数应触发当前作用域的单击。

在Chrome中,当我点击按钮时,计数器会上升1.

如果我在IE11中做同样的事情 没有任何反应 。我一直试图让这个工作有一段时间,因为我的大多数目标受众都将使用IE

我认为这应该有效 - 据我所知,angular应该在转换后编译模板以识别需要使用的任何其他指令

我做错了什么还是点击这个?

1 个答案:

答案 0 :(得分:1)

知道这是我做错了 - 正如评论者所说的那样,因为我试图将指令添加到<button>元素。

我将元素包装在<div>中,然后将指令应用于该指令并且它有效!