selectboxからオプションを選択した後、入力タイプのテキストに焦点を合わせようとしています。オプションを選択すると、ナノ秒の入力がフォーカスされ、選択ボックスに再びフォーカスが当てられます。AngularJSのselectboxからオプションを選択した後に入力テキストに焦点を合わせる
ここにはfiddleがあります。ここで
は、私たちが代わりに選択基準を使用している場合、それがうまく働いているので、これは、おそらくangular-material
バグでコード
<div ng-controller="MyCtrl" layout layout-align="center center">
<md-select ng-model="myModel" placeholder="Pick" ng-change="onChange()" md-on-open="onOpen()">
<md-option value="0">Zero</md-option>
<md-option value="1">One</md-option>
</md-select>
<input type="text" id="fc">
</div>
<script>
angular.module('MyApp', ['ngMaterial'])
.controller('MyCtrl', function ($scope) {
$scope.onChange = function() {
document.getElementById('fc').focus();
};
$scope.onOpen = function() {
document.getElementById('fc').focus();
};
})
</script>
お役に立てば幸いです...でも、私はそれを引き起こしているかわからないんだけど。あなたが標準のHTMLを使用する場合、それはうまく動作します。私はこれがmd-selectで動作することに気付きましたが、$ scopeを使うのは偉大な習慣ではありません。 '$スコープ$時計。( 'mymodelという'、関数(){ \t $文献[0] .getElementById( 'FCは'))(フォーカス; });' – sledsworth
@sledsworthはいその角度材料。角度のある素材でこれを達成しようとしています。 $ watchの問題は何ですか? – user3288891
言うまでもなく、問題はありませんが、Angular 1.5のリリースでは、とにかく、$ watchを使用する代わりに、コンポーネントライフサイクルフックを使用することをお勧めします。 – sledsworth