0

コンテキスト:kendoGrid編集をポップアップに設定。フィールドを含むポップアップ ウィンドウを開きます。この場合、編集ウィンドウのテンプレートは JS ロジックなどでカスタム化されています。tabindexすべてのフィールドに必要な順序で値が設定され、最初のフィールドにオートフォーカスが設定されています。グリッドの Edit イベントで実行されるカスタム JS を使用して、ウィンドウが開いたときにウィンドウの位置とサイズを調整します。function editWindowLocation(e)

観察: フォームとフィールドが次のように静的である場合、これは JS コードでは比較的単純です。document.formName.fieldName.focus();

問題: ウィンドウが開いた後、新しいウィンドウにフォーカスがあります。タブキーが押されると、ウィンドウのボタン (更新/キャンセル) にフォーカスが移動し、さらにタブを押すと、フィールドに到達します。ポップアップ ウィンドウの最初のフィールドにフォーカスを当てるにはどうすればよいですか?

4

1 に答える 1

-1

解決策: の最後に、最初のものを見つけてフォーカスを設定function editWindowLocation(e)するためのコードを少し追加しました。tabindex

setTimeout(function () {
    $("input[tabindex=1]").focus();
}, 1000);

なぜあなたが言うタイムアウトですか?kendoWindow はどうにかして.focus()イベントをオーバーライドし、 にフォーカスを置いdivkendoWindow. ただし、タイムアウトで実行すると、期待どおりに機能します。なぜこれが起こるのか分かりませんが、これは私にとってはうまくいきました。

これが同様の問題を抱えている人々に役立つことを願っています。

于 2014-08-18T18:24:35.100 に答える