質問: 入力フィールドにフォーカスを設定する方法 angularjsで入力フィールドにフォーカスを設定するための 'angular way'とは何ですか?より具体的な要件 modal が開いたら、このmodal内の事前定義済みの<input>にフォーカスを設定します。 <input>が見えるようになるたびに(例えば、あるボタンをクリックすることによって)、それにフォーカスを置きます。 私は最初の要件を達成しようとしました autofocusで、これはmodalが最初に開かれたときだけ、そして特定のブラウザでのみ動作します(例えばfirefoxでは動作しません)。任意の助けをいただければ幸いです。
回答: 最初に、焦点を合わせる公式な方法は 1.1のロードマップ です。その間、あなたは設定フォーカスを実装するためのディレクティブを書くことができます。次に、アイテムが表示された後でそのアイテムにフォーカスを設定するには、現在回避策が必要です。 $timeoutを使ってelement focus()への呼び出しを遅らせるだけです。フォーカス、ぼかし、選択についても同じcontroller-modified-dom問題があるので、ng-targetディレクティブを持つことを提案します。<input type="text" x-ng-model="form.color" x-ng-target="form.colortarget"> <button class="btn" x-ng-click="form.colortarget.focus()">do focus</button> ここに角のあるスレッド: http://goo.gl/ipsx4 、そしてここにブログが書かれた詳細: http://goo.gl/4rdza 次のディレクティブは、あなたのng-target属性によって指定されるようにあなたのコントローラの中に.focus()関数を作成します。 (.blur()と.select()も作成します。)デモ: http://jsfiddle.net/bseib/wucqx/