2016-09-22 75 views
0

我在写一个覆盖标准文本输入元素行为的自定义指令。 标准输入元素具有预定义的按键导航行为。 我想重写该行为。在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关键事件在输入结束的地方插入符号。相反,我想在关键事件上做点别的事情。

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

我不知道是否有可能从输入字段中删除本地回调。

回答

0

下面是我的一位朋友提出的解决方案。它很好用:

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

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