gpt4 book ai didi

javascript - 用于附加全局焦点事件的 AngularJS 方式

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:07:03 24 4
gpt4 key购买 nike

我正在寻找一种 Angular 方式来将全局焦点事件附加到出现在我网站上的所有输入字段,并将出现在未来。使用 jQuery,我会使用 live 方法,并将事件处理程序简单地放在 index.html 中。

我需要监听 focusblur 事件,因为 iOS 7 上的虚拟键盘在移动版 Safari 中出现时出现错误。收到事件后,我必须重新定位底部的导航栏(错误请参见此处 iOS 5 fixed positioning and virtual keyboard)。

那么,实现这一目标的最佳 Angular 方式是什么,而不是一直向 Controller 中注入(inject)一些东西?是否有“全局方式”?

最佳答案

我会使用一个指令来捕捉焦点/模糊这样的东西:

.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>

关于javascript - 用于附加全局焦点事件的 AngularJS 方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22330877/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com