2017-10-31 3 views
0

Ich stoße einige Probleme mit dieser Richtlinie in IE11 (Hinweis: auf Edge, Chrome und Firefox, alles funktioniert gut).Richtlinie funktioniert nicht in IE11

Wenn ich eine Warnung kurz vor der Rückgabe des Objekts, ich habe es nicht in IE, und ich habe zweimal in anderen Browser (aber es ist in Ordnung sowieso).

Angular Version ist 1.5.3

.directive("cartBtnQty", function($rootScope) { 
return { 
    restrict: "E", 
    scope :{ 
     articleQuantity: '@', 
     lineNumber: '@' 
    }, 
    replace: true, 
    link: function(scope, elem, attr, form) { 
     alert('directive'); 
     elem.bind('click keydown', function (e) { 

      $operator = null; 

      // click button +/- 
      $operator = angular.element(e.target).data('operator') 
      if($operator == '+') 
       scope.articleQuantity = parseInt(scope.articleQuantity)+1; 
      else if($operator == '-' && scope.articleQuantity > 1) 
       scope.articleQuantity = parseInt(scope.articleQuantity)-1; 

      // limitation pour quantité négative 
      if(scope.articleQuantity < 1) 
       scope.articleQuantity = parseInt(1); 


      if((e.type == 'click' && ($operator == '-' || $operator == '+')) || e.type == 'keydown'){ 
       $rootScope.cartQtyItem({articleQuantity:scope.articleQuantity, lineNumber:scope.lineNumber}); 
       return true; 
      } 
     }); 
    }, 

    template: '<div class="ui right mini action input">'+ 
       '<form><input type="text" ng-model="articleQuantity" ng-init="articleQuantity=articleQuantity" class="w30"/>'+ 
       '<div class="ui icon buttons mini">'+ 
       '<button class="ui button" data-operator="+"><i class="plus icon" data-operator="+"></i></button>'+ 
       '<button class="ui button grey" data-operator="-"><i class="minus icon" data-operator="-"></i></button>'+ 
       '</div></form></div>' 
}; 

})

+0

haben Sie überprüft, ob Ihre Datei in der Webanwendung enthalten ist (überprüfen Sie Ihre js-Dateien, ob geladen oder nicht in ie), weil IE Begrenzung der Anzahl der externen Dateien –

+0

Yep, ich eine Warnung auf den Kopf meiner Angle-Direktive.js-Datei, und es funktioniert. – synyster0fa7x

+0

überprüfen Sie Ihre HTML, müssen Sie möglicherweise einfach ändern 'bis'

'oder'
' –

Antwort

0

Aleksey Solovey war gut. Ich wechsle zu einer richtigen Klasse, und der alte Entwickler fügt einige isIe() - Funktionen im DOM hinzu. Danke für deine Zeit Jungs.

0

Ich sehe zwei Probleme:

  • Variablendeklaration fehlt (btw, sollten Sie nicht für lokale Variable $ verwenden)
  • versuchen, attr statt data zu verwenden: angular.element(e.target).attr('data-operator');

Warnung sollte im IE in Bezug auf diese Richtlinie gut funktionieren.

# https://plnkr.co/edit/WqsPQxgkwCLEPMnaEANx?p=preview

Verwandte Themen