Je récupère Angular JS à: http://www.sitepoint.com/practical-guide-angularjs-directives/ , And I découvrez que les codes suivants fonctionnent dans Chrome, mais pas IE 11.
<!DOCTYPE html>
<html ng-app="myapp">
<head>
<meta charset="utf-8" />
<title>No Title</title>
<script data-require="[email protected]" src="http://code.angularjs.org/1.2.7/angular.js" data-semver="1.2.7"></script>
</head>
<body>
<input type="text" ng-model="color" placeholder="Enter a color..." />
<div data-hello-world />
<script>
var app = angular.module('myapp', []);
app.directive('helloWorld', function () {
return {
restrict: 'AE',
replace: true,
template: '<p style="background-color:{{color}}">Hello World!!</p>',
link: function (scope, elem, attrs) {
elem.bind('click', function () {
elem.css('background-color', 'white');
scope.$apply(function () { scope.color = "white"; });
});
elem.bind('mouseover', function () { elem.css('cursor', 'pointer'); });
}
}
});
</script>
</body>
</html>
Plus précisément, les événements mouseover et click fonctionnent correctement. Cependant, la couleur d'arrière-plan du paragraphe ne figure pas dans IE (la couleur ne change jamais). C'est bon dans Chrome. Merci!
Peut-être parce que la compatibilité du document. Cela a fonctionné pour moi:
Ajoutez cette balise à web.config.
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<httpProtocol>
<customHeaders>
<clear />
<add name="X-UA-Compatible" value="IE=10" />
</customHeaders>
</httpProtocol>
</system.webServer>
</configuration>
J'ai ajouté ce qui suit à la tête et cela a fonctionné. c'est très similaire à ce que Mark a dit ... rien de particulier:
<meta http-equiv="X-UA-Compatible" content="IE=11" />
j'ai également constaté que je devais ajouter répondre et moderniser dans une instruction if pour les anciennes versions d'IE:
<!--[if lt IE 9]>
<script src="/Binders/Scripts/modernizr-2.8.3.js"></script>
<script src="/Binders/Scripts/respond.js"></script>
<![endif]-->
Utilisez des balises de style ng au lieu de style = "{{CSS}}". Ce dernier fonctionne dans Chrome et Firefox mais ne fonctionne pas dans Internet Explorer <= 11.
Essayez la directive "use strict" avant le contrôleur
"use strict";
function controller($scope) {
// your code....
}