我正在使用TextAngular。

<div
    text-angular
    ta-toolbar="[['bold','italics', 'underline', 'ol', 'ul']]"
    ng-model="model"></div>

我想通过某些条件设置焦点,但我不知道如何执行此操作。

最佳答案

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

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

<div text-angular name="myEditor" focus="shouldFocus" ...

添加一个名为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);
      }
    };
  }
]);

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

关于javascript - 如何将焦点设置为TextAngular的div,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28087699/

10-12 05:34