2014-10-07 2 views

Antwort

7

"ng-disabled" fügt nur das Attribut "disabled" für das Element hinzu oder entfernt es. Jedoch in HTML "deaktiviert" auf einem Div hat überhaupt keinen Effekt.

Also in gewisser Weise funktioniert "ng-disabled", aber es macht einfach keinen Sinn es auf einem div zu verwenden.

Sie können "ng-disabled" zu einem Feldset hinzufügen, wodurch Eingabeelemente, die darin verschachtelt sind, deaktiviert erscheinen. Siehe http://nerd.vasilis.nl/disable-html-elements-with-css-only/

+0

In Bezug auf die CSS-Effekte hinzufügen, wenn Sie Bootstrap verwenden sind - es bereits Tut dies für Knöpfe. Sie könnten jedoch leicht Ihre eigenen CSS-Styling hinzufügen: http://plnkr.co/edit/nmBmfKC7a56iDmupqh7Z?p=preview – NoobSter

3

gibt es eine Reihe von Elementen in HTML, die das ‚gesperrt‘ Attribut nimmt: durch Verwendung von CSS-Eigenschaften „Opazität“ und „keine Zeiger-Ereignisse“

könnte andere Problemumgehung, die deaktiviert Effekt zu simulieren in der Tat, DIV ist nicht einer von ihnen.

können Sie sehen, welche Elemente das Attribut nehmen, here

dieser Elemente übernehmen die 'behindert' attr:

  • Taste
  • Eingang
  • TextArea-
  • optgroup wählen
  • Option
  • Fieldset
1

Die Verwendung von 'ng-disabled', wie der Entwickler von Winkelführungs sagt, nur für einen Eingangs-Tag ist.

<INPUT ng-disabled=""> 
... 
</INPUT> 
+1

Eingang ist ein selbstschließende Tags. – otherDewi

1

Also von was ich versichere, versuchen Sie, das Div zu deaktivieren, wenn die Taste gedrückt wird? Ansonsten kannst du die Schaltfläche einfach so deaktivieren.

<div> 
<button ng-disabled="true">bbb</button> 
</div> 

Aber ich verstehe nicht warum, weil es nicht wieder aktiviert werden kann.

3

können Sie die nächste Anweisung verwenden:

// ********************************* ** // // Diese Direktive ist eine ng-disabled Direktive für alle Elemente und nicht nur für die Schaltfläche // ************************* ********** //

app.directive('disabledElement', function() { 
    return { 
     restrict: 'A', 
     scope: { 
      disabled: '@' 

     }, 
     link: function (scope, element, attrs) { 

      scope.$parent.$watch(attrs.disabledElement, function (newVal) { 

       if (newVal) 
        $(element).css('pointerEvents', 'none'); 


       else 
        $(element).css('pointerEvents', 'all'); 


      }); 

     } 

    } 
}); 

und die html:

<div ng-click="PreviewMobile()" data-disabled-element="toolbar_lock"></div> 
+0

versuchen, '-webkit-touch-callout: none' hinzuzufügen – oCcSking

Verwandte Themen