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
Jedes Mal, wenn Sie auf die Eingabetaste klicken, erhalten Sie die aktuelle Fokusposition und legen 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>
Unter diesen wird ein einfaches Urteil über die Browser gefällt, da IE und Firefox die Schlüsselwerte unterschiedlich erhalten. 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.