2014-11-04 140 views
3

我正在爲Angular編寫我的第一個應用程序,並且我遇到了mouseenter事件的問題。它根本不適用於Chrome。首先,我認爲我的代碼中有一個錯誤,但我在Firefox中檢查過它,一切正常。我決定從jsfiddle中用mouseenter測試一些代碼,它看起來是一樣的 - 在Firefox上沒問題,在Chrome上沒有 - 在mouseenter之後沒有任何反應。Angular mouseenter在Chrome中不起作用

測試代碼:

<!DOCTYPE html> 
<html ng-app="my-app"> 
    <head> 
     <meta charset="utf-8" />   
       <style> 
      /* Put your css in here */ 
      button { 
       position: relative; 
       float:right; 
       top:-40px; 
       right:0; 
      } 
      li { 
       background: #eee; 
       padding: 5px; 
       list-style:none; 
       width: 200px; 
      } 
     </style> 
     <script src="angular.js"></script> 
     <script> 
      var app = angular.module('my-app', [], function() { 
      }) 
      app.controller('AppController', function ($scope) { 
      $scope.name = 'World'; 
      }) 
     </script> 
    </head> 

    <body ng-controller="AppController"> 
     <p>Hello {{name}}!</p> 
     <ul> 
      <li ng-mouseenter="showXBtn = true; 
           test($event)" ng-mouseleave="showXBtn = false; 
                test($event)"> 
       <p ng-mouseenter="showXBtn = false;" ng-mouseleave="showXBtn = true; 
            test($event)">Hide</p> 
       <button ng-show="showXBtn"><span>x</span></button> 
      </li> 
     </ul> 
     {{showXBtn}} 
    </body> 
</html> 

我用AngularJS V1.2.5。這是官方報告的錯誤嗎?或者,也許與我的鉻是錯誤的..我有最新版本38.0.2125.111米。感謝您的任何建議。

+0

http://jsfiddle.net/arunpjohny/epz2dd9b/2/ – 2014-11-04 12:52:25

+0

Chrome僅在單擊元素時纔會作出反應 – elevenMinutes 2014-11-04 12:55:09

+1

Chrome出現問題,因爲它按預期工作。 – dfsq 2014-11-04 12:56:03

回答

1

我和Chrome有類似的問題,並最終將問題追蹤到特定的Chrome擴展程序(對我而言,擴展名爲AngularJS Batarang)。

如果您有任何JavaScript分析擴展,那些添加到頁面的緩慢時有時會導致事件(特別是mouseenter和mouseleave事件)中的異常行爲。