覆盖AngularJS输入字段中的键导航

时间:2016-09-22 20:22:23

标签: javascript angularjs

我正在编写一个覆盖标准文本输入元素行为的自定义指令。 标准输入元素带有预定义的键导航行为。 我想覆盖这种行为。

我注册了这样的回调:

                element.on('keyup', function(event) {
                    // Stopping propagation for the event doesn't help
                    // because native callback gets invoked 
                    // prior to my custom function.
                    // event.stopImmediatePropagation();
                });

特别是,默认情况下,ArrowDown键事件会在输入结尾处放置插入符号。相反,我想在那个关键事件上做点别的事。

我可以通过将插入符号返回到我的回调函数末尾的位置来做到这一点,但这不太理想。相反,我希望从未调用过本机函数。

我想知道是否可以从输入字段中删除该本机回调。

1 个答案:

答案 0 :(得分:0)

以下是我的一位朋友提出的解决方案。效果很好:

                element.on("keydown", function(event) {
                    // Do something
                    event.preventDefault();
                });

请注意,“keyup”回调必须替换为“keydown”。