AngularJS,如何让UI依赖于哪个字段具有焦点?

时间:2012-06-21 21:09:03

标签: javascript html5 angularjs

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

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

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

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

2 个答案:

答案 0 :(得分:10)

如何制定指令?您可以在用户离开/输入输入时设置变量,并检测到:http://jsfiddle.net/TZnj2/

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

我也使用范围。$ apply在该指令中,这里解释了它的作用:http://docs.angularjs.org/api/ng.$rootScope.Scope#$apply

答案 1 :(得分:8)

ngFocusngBlur是内置指令:

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

Try demo on jsfiddle