【问题标题】:Get element that has focus from ngFocus从 ngFocus 获取具有焦点的元素
【发布时间】:2015-11-16 06:55:34
【问题描述】:

有没有办法获取触发 ngFocus 或 ngBlur 的元素的 innerHTML?

<textarea ng-focus="focus()"></textarea>

然后在我的控制器中我有

$scope.focus = function() {
    //I need innerHTML here of the textarea that triggered me
}

【问题讨论】:

  • 为什么不使用ng-model 来保存textarea 内的任何值
  • 如果我有多个从 ng-repeat 创建的文本区域,并且我想在聚焦时对文本区域内的内容做一些事情。我不能使用 ng-model。
  • 你能把那个html也加进去吗?

标签: javascript angularjs


【解决方案1】:
focus(this)

不会将 DOM 元素传递给函数 focus(this)。这里this 将指代范围。如果要访问 DOM 元素,请使用 focus($event)。在回调函数中可以通过event.target获取DOM元素

来源复制自http://stackoverflow.com/a/13000154

【讨论】:

    【解决方案2】:

    您可以在该文本区域使用ng-model。因此,当ng-focus 事件被触发时,您可以轻松地从控制器的scope 获取该值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-18
      • 1970-01-01
      • 1970-01-01
      • 2012-04-17
      相关资源
      最近更新 更多