angularjs——用于附加全局焦点事件的方式
AngularJS-way for attaching global focus event
我正在寻找一种角度的方式,将全局焦点事件附加到出现在我的网站上的所有输入字段,并将在未来出现。对于jQuery,我将使用live
方法,并简单地将事件处理程序放在index.html中。
我需要收听focus
和blur
事件,因为在移动Safari中出现iOS 7上的虚拟键盘时存在错误。在我收到事件后,我必须重新定位底部的导航栏(见这里的bug iOS 5固定定位和虚拟键盘)。
那么,angular实现这一点的最佳方法是什么,而不需要一直向控制器中注入东西?有"全球之路"吗?
我会使用指令来捕获焦点/模糊,像这样:
.directive('onFocusBlur',function() {
return {
restrict : 'A',
link : function($scope,$element,$attr) {
$element.bind('focus',function() {
$scope[$attr.onFocusBlur] = true;
});
$element.bind('blur',function() {
$scope[$attr.onFocusBlur] = false;
});
}
}
})
<!-- my focus/blur input -->
<input on-focus-blur="respoitionMyNav" />
<!-- my nav -->
<div ng-class="{ reposition-class : respoitionMyNav }">
</div>
相关文章:
- 什么'是在HTML5画布中创建关键事件的最佳方式
- 在Nodejs中堆叠异步回调事件的最佳方式
- 在 Chrome 扩展程序中创建自定义事件的最惯用方式
- 当以编程方式更改输入值时,不会执行更改时事件
- 如何以 Angular2 方式处理 ajaxStart 和 ajaxStop 事件
- 在带有 标记的树节点上以编程方式触发单击事件
- 如何使用cURL或其他方式在点击时执行事件
- 通过它查询谷歌地图上已经存在的标记's的lat和long,并以编程方式在其上触发一个单击事件
- 通知全局事件组件的最佳方式
- 以较短的方式使用事件
- 正在删除事件侦听器(DOM级别0方式)
- onChange事件在以编程方式加载后未正确触发
- 处理多次单击事件的最佳方式
- 以编程方式模糊 EXTJS 3.2.1 中的组合框控件不会触发“模糊”事件
- 将键盘快捷方式关联到鼠标事件的方法
- 以编程方式在聚合物输入上触发 onchange 事件
- 以编程方式触发 Coldfusion 中的事件
- 运行多事件功能的更简洁的方式
- 有没有办法确定 JS 事件是以编程方式还是通过实际交互触发的
- 是否有任何事件/方式我们可以知道文件何时完成下载