我有一个包含多个表单输入的AngularJS页面。
当某些输入具有焦点时,我想要更改页面的其他任意方面。
例如,当用户在“股票代码”输入中时,我想显示常用股票代码列表。当他们处于'数量'字段时,我想显示库存数量和交货时间。
是否有一个变量包含'当前'输入(具有焦点的输入),或者我是否需要恢复到jQuery的onFocus。 (现在看来有点原始。)
答案 0 :(得分:10)
如何制定指令?您可以在用户离开/输入输入时设置变量,并检测到:http://jsfiddle.net/TZnj2/
如果您对发生的事情感到困惑,请务必阅读指令指南:http://docs.angularjs.org/guide/directive
我也使用范围。$ apply在该指令中,这里解释了它的作用:http://docs.angularjs.org/api/ng.$rootScope.Scope#$apply
答案 1 :(得分:8)
<input ng-focus="hasFocus = true" ng-blur="hasFocus = false" type="text">
<p ng-show="hasFocus">The field has focus!!</p>