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 ? event.keyCode : event.which ? 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) ? -1 : i ; $('#'+ inputs[i+1].id ).focus() break; } } } } </script>
Nachdem Sie den aktuellen Wert erhalten haben, können Sie schließlich verschiedene weitere Bedingungen hinzufügen.
Demo-Adresse: