キーボードを閉じずにモバイル ブラウザの次の入力フィールドにプログラムで移動することは不可能のようです。(これはひどい設計ですが、私たちが取り組まなければならないものです。) しかし、実際には次のフィールドに移動しているように見えるように、入力要素の位置、値、および属性を Javascript と交換するという巧妙なハックがあります。あなたはまだ同じ要素に集中しています。id
、name
、および値を交換する jQuery プラグインのコードを次に示します。必要に応じて、他の属性を交換するように適応させることができます。また、登録されているすべてのイベント ハンドラーを必ず修正してください。
$.fn.fakeFocusNextInput = function() {
var sel = this;
var nextel = sel.next();
var nextval = nextel.val();
var nextid = nextel.attr('id');
var nextname = nextel.attr('name');
nextel.val(sel.val());
nextel.attr('id', sel.attr('id'));
nextel.attr('name', sel.attr('name'));
sel.val(nextval);
sel.attr('id', nextid);
sel.attr('name', nextname);
// Need to remove nextel and not sel to retain focus on sel
nextel.remove();
sel.before(nextel);
// Could also return 'this' depending on how you you want the
// plug-in to work
return nextel;
};
デモはこちら: http://jsfiddle.net/EbU6a/194/