tabindexが指定されたdivがありますが、divがフォーカスされている(クリックまたはタブで移動)と、次のようになります。
それ自体に入力を挿入し、入力フォーカスを与えます
これはFF、IE、Operaでうまく機能します
しかし、Chome / Safariでは、入力フォーカスを提供しますが、実際には入力内にカーソルを置くことができません(サファリ/クロームフォーカスの境界線が表示されるため、フォーカスが提供されることはわかっています)。
何が起こっているのかについて何か提案はありますか?
この後、キーハンドラーを修正して、矢印キーとバックスペースキーも機能するようにする必要があります。必要に応じて、自由にチャイムを鳴らしてください。
前もって感謝します!
コードのサンプルは次のとおりです。
var recipientDomElem = $("#recipientsDiv");
recipientDomElem[0].tabIndex = 0;
$("#recipientsDiv").focus(function(e){
var code = (e.keyCode ? e.keyCode : e.which);
window.clearTimeout(statusTimer);
recipientDivHandler(code, null);
});
function recipientDivHandler(code, element){
$("#recipientsDiv").append('<input type="text" id="toInput" class="inlineBlockElement rightSpacer" style="border:0px none #ffffff; padding:0px; width:40px;margin-bottom:3px;padding:0; overflow:hidden; font-size:11px;" />');
$("#toInput").focus();
}
これに関するもう1つの奇妙な点は、divにタブで移動すると、div.focus()関数が起動し、入力フォーカスが正しく与えられることです...失敗するのはクリックだけです。フォーカスと同じようにdivに.click()関数を配置しようとしましたが、機能しません。