Heim  >  Artikel  >  Web-Frontend  >  Jquery realisiert die Methode zum Umschalten des Eingabefokus durch Enter, die mit den wichtigsten Browsern_jquery kompatibel ist

Jquery realisiert die Methode zum Umschalten des Eingabefokus durch Enter, die mit den wichtigsten Browsern_jquery kompatibel ist

WBOY
WBOYOriginal
2016-05-16 16:38:191255Durchsuche

Bei der Arbeit an einem Projekt wünschte der Kunde die Möglichkeit, die Eingabe (Fokus) direkt mit der Eingabetaste wechseln zu können, und wenn die letzte Eingabe erreicht war, konnten die Informationen direkt übermittelt werden.

Die erste Idee besteht darin, einen Code online zu kopieren und direkt zu verwenden. Aber nach der Suche auf Baidu und Google waren mehr als 80 % der gefundenen Codes identisch. Einige Codes sind zu alt und können nicht verwendet werden. Einige funktionieren nur mit einigen Browsern. Nachdem ich eine halbe Stunde lang gekämpft hatte, konnte ich immer noch keine passende Lösung finden. Beim letzten Gedanken könnte ich es genauso gut selbst machen.

1. Ideen

Rufen Sie jedes Mal, wenn Sie auf die Eingabetaste klicken, die aktuelle Fokusposition ab und legen Sie dann das nächste Element fest, um den Fokus zu erhalten

2. Code

<script type="text/javascript">
 $('input:text:first').focus(); 
 document.onkeydown = function enterHandler(event)
 {
   var inputs = $("input");           //可自行添加其它过滤条件   
   var browser = navigator.appName ;      //浏览器名称
   var userAgent = navigator.userAgent;     //取得浏览器的userAgent字符串 
   
   var Code = '' ;
   if(browser.indexOf('Internet')>-1)      // IE  
    Code = window.event.keyCode ;
   else if(userAgent.indexOf("Firefox")>-1)   // 火狐
    Code = event.which;
   else                     // 其它
     Code = event.keyCode &#63; event.keyCode : event.which &#63; event.which : event.charCode;
  
   if (Code == 13)               //可以自行加其它过滤条件
   {
     for(var i=0;i<inputs.length;i++)
     {
      if(inputs[i].id == document.activeElement.id)
      {  
        i = i== (inputs.length - 1) &#63; -1 : i ;
        $('#'+ inputs[i+1].id ).focus()
        break;
      }
     }
   }
 }

</script>

Da IE und Firefox die Schlüsselwerte unterschiedlich erhalten, wird ein einfaches Urteil über die Browser gefällt. Auf diese Weise können Sie die Schlüsselwerte abrufen, die Sie in jedem Browser treffen.

Nachdem Sie den aktuellen Wert erhalten haben, können Sie schließlich verschiedene weitere Bedingungen hinzufügen.

Demo-Adresse:

http://demo.jb51.net/js/2014/jsenterqiehuan/

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn