2016-11-04 3 views
0

Ich habe nicht ein perfektes Englisch, sorry für jeden Fehler ...Javascript Maske funktioniert nicht auf mobilen

ich einen JS Telefon/Handy Maske Code verwenden, ich habe fount Im Internet funktioniert es einwandfrei, wenn ich mit meinem Computer auf meine Website zugreife, aber wenn ich mein Telefon verwende, funktioniert der Code nicht mehr.

Hier ist der JS-Code:

<script type="text/javascript"> 
    function mascara(o, f) { 
     v_obj = o 
     v_fun = f 
     setTimeout("execmascara()", 1) 
    } 
    function execmascara() { 
     v_obj.value = v_fun(v_obj.value) 
    } 
    function mtel(v) { 
     v = v.replace(/\D/g, ""); 
     v = v.replace(/^(\d{2})(\d)/g, "($1)$2"); 
     v = v.replace(/(\d)(\d{4})$/, "$1-$2"); 
     return v; 
    } 
    function id(el) { 
     return document.getElementById(el); 
    } 
    window.onload = function() { 

     id('<%= telefoneContato.ClientID %>').onkeypress = function() { 
      mascara(this, mtel); 
     } 
    } 
</script> 

Dies ist das Textfeld:

<asp:TextBox ID="telefoneContato" runat="server" CssClass="form-control" placeholder="Digite seu telefone" MaxLength="14"></asp:TextBox> 

Einige Punkte:

  • Ich bin mit Bootstrap + jQuery;
  • Die Seite ist ein Webformular und es ist mit einer MasterPage verknüpft;
  • Ich verwende ASP.NET;
  • Ich habe nicht viel Erfahrung mit JS;
  • Das Telefon ist ein Moto G4 (Android 6.0.1) und ich verwendete Chrom, um auf die Website zuzugreifen.

Vielen Dank im Voraus!

Antwort

0

Leider unterscheidet sich das Verhalten der Schlüsselereignisse in jedem Browser und besonders wenn es um mobile Browser geht, kann es so nervig sein. Versuchen Sie, eine mobile kompatible jQuery-Bibliothek zu verwenden, z. B. jQuery Mask. Sie können Ihre Masken wie definieren:

$(document).ready(function(){ 
    $('.phone').mask('0000-0000'); 
}); 
+0

Es funktioniert, danke !!! –

+0

Gern geschehen :) –

Verwandte Themen