如何仅从移动设备上的输入中删除焦点

时间:2015-12-14 16:35:57

标签: javascript angularjs

我正在进行中/大规模angularjs应用。根据用户是来自移动设备还是桌面设备,我有不同风格的视图。

我的问题是使用角度设置的自动对焦。在桌面上,这是有益的,在移动设备上它是一种糟糕的用户体验。如何仅在移动设备上删除输入字段上的自动对焦。

我使用简单的if else语句来指示要加载的视图。加载移动视图时有没有办法设置focus = false?

str(some_animal)

1 个答案:

答案 0 :(得分:1)

Solved it. Just had to add the window.innerWidth to my if statement in the focus directive.

angular.module('App.Directives').directive('focus', function($timeout) {
return {
    scope: {
        trigger: '@focus'
    },
    link: function(scope, element) {
        scope.$watch('trigger', function(value) {
            if (value === "true" && window.innerWidth >= 800) {
                $timeout(function() {
                    element[0].focus();
                });
            }
        });
    }
};
});