如何避免jQuery处理程序依赖于activeElement?

时间:2016-12-20 12:43:01

标签: jquery

我将事件处理程序绑定到文档。它应该处理,比如空格键击中。 我有一些输入,比如锚或按钮。

当锚点或按钮被聚焦时(反映在document.activeElement中),我的处理程序绑定到文档(或窗口)根本不被触发!

为什么呢?我怎么能确保,无论当前关注的元素如何,绑定到文档的处理程序都会触发?

            myapp.directive('myKeyDown', ['$document', ($document): angular.IDirective => {
return {
    restrict: 'A',
    link: ($scope, $element, $attrs) => {

        $document.bind("keydown",event => {
            console.log('keydown', event.which);
        });

    }
};

}]);

1 个答案:

答案 0 :(得分:0)

尝试使用

event.stopPropagation();

在keydown函数中的所有代码之后。