2014-12-04 57 views
1

我不確定這是否是已知的錯誤(或者甚至是錯誤...)或者不是,但我無法在角度上找到它問題列表,也許我做錯了什麼:ng-click指令在IE中不起作用,但在Chrome中起作用

.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

我認爲這應該工作 - 據我所知,角度應該編譯模板後,跨越來識別任何它需要與其他指令

我做錯了什麼或應該點擊工作?

+1

您的代碼是[作品](http://jsfiddle.net/v9stcw95/)在IE11中。也許問題出在創建發佈最小范例的代碼中。或者,也許被橫切的元素會干擾點擊。它也可能有助於發佈您的標記。 – Bryan 2014-12-04 02:53:15

+0

如果您在'button'元素上放置'click-test'指令,則與OP描述的情況相同。在IE11中點擊事件處理差距或者? – miqid 2014-12-04 03:22:29

+0

是的,當我上牀睡覺時,我就意識到這可能是因爲我將該屬性添加到按鈕元素。我可能會嘗試將它封裝在div中並更新,當我意識到這只是一個IE怪癖! – Charleh 2014-12-04 08:23:51

回答

1

知道這將是我做錯了 - 作爲評論者建議,這是因爲我試圖將該指令添加到<button>元素。

我將元素包裝在<div>中,而是將該指令應用於該指令並且它可以工作!

+0

謝謝!有用!! – 2015-04-07 01:02:08

相關問題