如何将焦点设置为TextAngular的div

Mik*_*ice 2 javascript angularjs angularjs-directive

我正在使用TextAngular.

<div
    text-angular
    ta-toolbar="[['bold','italics', 'underline', 'ol', 'ul']]"
    ng-model="model"></div>
Run Code Online (Sandbox Code Playgroud)

我希望通过一些条件设置焦点,但我不明白,如何做到这一点.

tas*_*ATT 7

不知道你的确切需求,但这应该是一个开始.

使用text-angular属性为元素添加名称,并添加新属性focus(或您想要的其他名称)并将其传递给表达式:

<div text-angular name="myEditor" focus="shouldFocus" ...
Run Code Online (Sandbox Code Playgroud)

添加一个这样的指令textAngular:

app.directive('textAngular', ['$parse', '$timeout', 'textAngularManager',
  function($parse, $timeout, textAngularManager) {

    return {
      link: function(scope, element, attributes) {

        // Parse the focus expression
        var shouldFocus = $parse(attributes.focus)(scope);

        if (!shouldFocus) return;

        $timeout(function() {

          // Retrieve the scope and trigger focus
          var editorScope = textAngularManager.retrieveEditor(attributes.name).scope;
          editorScope.displayElements.text.trigger('focus');
        }, 0, false);
      }
    };
  }
]);
Run Code Online (Sandbox Code Playgroud)

演示: http ://plnkr.co/edit/ML3rLNutIz1XMo3oO2UC?p=preview

  • 像这样的东西:http://plnkr.co/edit/xY6vGcOneKA2umOeJsao?p=preview (2认同)