9

我有一个带有多个表单输入的 AngularJS 页面。

当某些输入具有焦点时,我想更改页面的其他任意方面。

例如,当用户在“股票代码”输入时,我想显示热门股票代码列表。当他们在“数量”字段中时,我想显示库存数量和交货时间。

是否有一个包含“当前”输入的变量(具有焦点的输入),或者我是否需要恢复到 jQuery 的 onFocus。(现在看起来有点原始。)

4

2 回答 2

10

做个指令怎么样?您可以在用户离开/进入输入时设置一个变量,并检测到:http: //jsfiddle.net/TZnj2/

如果您对正在发生的事情感到困惑,请务必阅读指令指南:http: //docs.angularjs.org/guide/directive

我也在该指令中使用了 scope.$apply ,这是对它的作用的解释:http ://docs.angularjs.org/api/ng.$ro​​otScope.Scope#$apply

于 2012-06-21T23:28:22.633 回答
8

ngFocusngBlur是内置指令:

<input ng-focus="hasFocus = true" ng-blur="hasFocus = false" type="text">
<p ng-show="hasFocus">The field has focus!!</p>

在 jsfiddle 上尝试演示

于 2014-10-28T04:55:47.123 回答