7

シンプルフォーカスが角度で機能しない

<div class="search pull-right tab-{{ showDetails2 }}" data-ng-click="showDetails2 = !showDetails2; showDetails = false; showDetails1 = false;searchFocus();">

html

<input type="text" data-ng-model="model.fedSearchTerm"
                    placeholder="New Search" required class="span12 fedsearch-box" />

マイ機能

$scope.searchFocus = function() {
            $('.fedsearch-box').focus();
        };
4

3 に答える 3

15

同じ問題が発生しました。focus コマンドを $timeout 内に囲むことで解決しました。.controller 関数で $timeout パラメーターを渡すようにしてください。

$timeout(function() { $('.fedsearch-box').focus(); });
于 2014-10-27T04:29:20.317 に答える
11

これは、非常にうまく機能するより堅牢な実装です。

myApp.directive('focusMe', function () {
    return {
        link: function(scope, element, attrs) {
            scope.$watch(attrs.focusMe, function(value) {
                if(value === true) {
                    element[0].focus();
                    element[0].select();
                }
            });
        }
    };
});


<input type="text" ng-model="stuff.name" focus-me="true" />
于 2013-08-30T08:13:07.790 に答える
1

この目的のために、次のようなディレクティブを作成できます。

myApp.directive('focus', function () {
  return function (scope, element, attrs) {
           element.focus();
  }
});

そしてあなたのHTMLで;

<input type="text" data-ng-model="model.fedSearchTerm"
                    placeholder="New Search" required focus />
于 2013-08-30T07:29:08.740 に答える