我正在使用一个指令将输入自动聚焦,但是在触摸设备上似乎不起作用。从我的搜索中,我没有找到任何适用于触摸设备的解决方案。

如何扩展该指令以使其在触摸设备上也可以使用?

'use strict';

shoppingApp.directive('autofocus', ['$timeout', function($timeout) {
  return {
    restrict: 'A',
    link : function($scope, $element) {
      $timeout(function() {
        $element[0].focus();
      });
    }
  }
}]);

最佳答案

您在应用中使用ngTouch吗?如果未在应用程序中加载ngTouch,则您的代码对我有用,并且会自动在Android上的Chrome上自动对焦,但是如果使用ngTouch,则不仅无法正常工作,而且有时由于手动对焦而导致散焦,从而使输入完全无法对焦点击。 [facepalm]

我认为它的this issue with ngTouch已被修复。更新到Angular 1.5.2为我解决了这个问题。

正如@jorisw所提到的,我认为在所有iOS设备上都无法实现自动对焦-输入已对焦,但屏幕键盘没有出现,因此用户必须手动单击输入。

关于javascript - 触控设备的 Angular 自动对焦指令,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29098350/

10-09 21:10