2017-02-04 2 views
2

Ich habe diese Eingabe Typ Nummer, aber ich muss Benutzereingabe auf der Box deaktivieren. Der Pfeil nach oben und nach unten sollte die angezeigte Zahl erhöhen oder verringern.HTML: Deaktivieren der Eingabe von Zahlen, aber die Pfeil nach oben und nach unten sollte funktionieren

<td data-th="Quantity"> 
    <input type="number" min="1" max="99" class="form-control text-center" value="{{cartItem.quantity}}" formControlName="quantity" #itemQuantity> 
</td> 

enter image description here

Wie kann ich es funktioniert?

Antwort

2

Sie können alle damit verbundenen Benutzer-Tastatur deaktivieren/Mausereignisse wie onKeyPress="return false", onCut="return false", onPaste="return false" als folgenden Code:

.form-control { 
 
    padding: 8px; 
 
    border: 1px solid #ccc; border-radius: 4px; 
 
} 
 

 
.text-center { text-align: center; }
<input type="number" min="1" max="99" class="form-control text-center" value="{{cartItem.quantity}}" formControlName="quantity" #itemQuantity 
 
onkeypress="return false" 
 
ondragStart="return false" onselectstart="return false"  
 
oncut="return false" oncopy="return false" onpaste="return false" 
 
ondrag="return false" ondrop="return false" 
 
autocomplete="off" 
 
>

+0

Bitte beachten Sie auch, dass andere Antworten den Benutzer nicht davon abhalten, Werte in Eingabefelder zu kopieren –

1

Versuch (Druck) zu verwenden = "Eventhandler()"

<td data-th="Quantity"> 
    <input type="number" min="1" max="99" class="form-control text-center" value="{{cartItem.quantity}}" formControlName="quantity" (keypress)="eventHandler($event)" #itemQuantity> 
</td> 

eventHandler(event){ 
    event.stopPropagation(); 
} 
2

Es ist möglich, durch JQuery mit

$("[type='number']").keypress(function (e) { 
 
    e.preventDefault(); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type = "number" value="3" />

+0

warum Jquery verwenden, wenn Sie in Ihrem HTML verwenden angular2 können? –

Verwandte Themen