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

Override key navigations in AngularJS input field

本文关键字:导航 AngularJS 输入 字段 覆盖      更新时间:2023-09-26

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

我像这样注册回调:

                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();
                });

特别是,默认情况下,箭头向下键事件将插入符号放置在输入的末尾。相反,我想在这个键事件上做一些其他的事情。

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

我想知道是否有可能从输入字段中删除本机回调

这是我的一个朋友建议的解决方案。

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

注意,"keyup"回叫必须用"keydown"代替。