在Twitter Typeahead上禁用输入密钥?

时间:2017-02-20 21:39:37

标签: angularjs angular typescript angularjs-directive twitter-typeahead

是否可以在Twitter Typeahead的下拉列表中的元素上禁用enter按键?我正在使用Angular和Typescript。

我尝试在输出中的preventDefault() event.keycode === 13时使用ng-keydownng-keydown会检测到输入已被按下但是无法阻止输入选择元素。

我是否需要在输入时禁用输入型侦听器?

1 个答案:

答案 0 :(得分:1)

您是否在input元素或form元素上尝试过它?

对我来说,当我执行时它会起作用:

$('form').on('submit', function(e) {event.preventDefault();}); 但是我建议使用更具体的选择器;)

或者您可以在input字段上执行此操作,但您需要阻止事件传播。 preventDefault仅阻止事件的默认行为 - 在输入的情况下,它会更新它的值。您要做的是停止提交表单,因此您需要停止事件传播。

以下是适用于输入的代码段:

$('#demo-input').on('keydown', function(e) {
    if (e.keyCode === 13) {
        return false
    }
});

使用jQuery时,事件处理程序中的return false与调用e.preventDefault()和e.stopPropagation()相同。