如何仅在移动设备上消除输入的焦点
How do remove focus from inputs only on mobile devices
我正在开发中/大型angularjs应用程序。根据用户来自移动设备还是桌面设备,我有不同风格的视图加载。
我的问题是使用角度设置的自动对焦。在桌面上,这是有益的,而在移动设备上,这则是糟糕的用户体验。如何删除仅在移动设备上对输入字段的自动聚焦。
我正在使用简单的if-else语句来指定要加载的视图。加载移动视图时,是否有方法将焦点设置为false?
//Detect Mobile Switch Refill List To Grid
if(window.innerWidth <= 800) {
$scope.view = "MobileAccount";
} else {
$scope.view = "DesktopAccount";
}
解决了它。只需要在focus指令中将window.innerWidth添加到我的if语句中。
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();
});
}
});
}
};
});
相关文章:
- 在IE9中的输入字段中输入焦点最近按钮
- 那里的维基媒体代码是如何输入焦点的
- 无法通过 JavaScript 在输入焦点上触发键盘
- 输入焦点关闭键盘,需要长时间触摸
- jQuery-滚动到某个元素时自动输入焦点
- 输入:焦点只工作一次
- 输入焦点取决于更大的父元素与 jQuery
- 如何定位单个输入焦点
- 关闭输入焦点上的滑动菜单
- 输入焦点字段,然后在页面加载时添加类
- 无法使用 keyUp 更改表内的输入焦点
- 如何在设备定向时丢失输入焦点
- Phonegap Android 在输入焦点 Javascript 上显示键盘
- 在 CkEditor 中输入焦点
- 如何使用js更改平板电脑上的输入焦点
- 在输入焦点时隐藏ios设备上的键盘
- 当鼠标悬停在其他元素上时,如何删除和重新设置输入焦点
- onmousedown事件停止输入焦点
- ngTags输入焦点自动完成
- 使用jQuery验证器禁用自动输入焦点