javascript - 捕获 ng-show 事件并聚焦输入字段

标签 javascript jquery angularjs

我不想编写复杂的指令只是为了集中精力。如果该方法使用纯 js 是可以接受的。我的问题是如何捕获 Angular 的 ng-show。

<a ng-click="showInput=true">show</a>
<input type="text" ng-show="showInput" />

上面的代码显示了输入,如何将其聚焦在它的外观上?

最佳答案

您可以添加此指令:

app.directive('showFocus', function($timeout) {
  return function(scope, element, attrs) {
    scope.$watch(attrs.showFocus, 
      function (newValue) { 
        $timeout(function() {
            newValue && element.focus();
        });
      },true);
  };    
});

并像这样使用它:

<input type="text" ng-show="showInput" show-focus="showInput">

关于javascript - 捕获 ng-show 事件并聚焦输入字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22776662/

相关文章:

javascript - 如何从 JS/Node.js 获取 Unix 风格的日期?

javascript - PlatformLocation 的位置依赖性错误

javascript - 分配给变量时,jQuery 选择器 val 为 'undefined'

javascript - 使用 jQuery 变量作为 HTML 属性

javascript - jQuery UI 平滑过渡

angularjs - 将动态生成的 pdf 从 aws-lambda 上传到 aws-s3

javascript - 如何缩短嵌套的 if/else 语句?

javascript - Javascript/Jquery使文本完全适合div给定尺寸并带有换行符(如果需要)

AngularJS:是否可以观看全局变量(即范围外)?

javascript - AngularJs location.path 不传递参数