【问题标题】:Disable enter key on Twitter Typeahead?在 Twitter Typeahead 上禁用输入键?
【发布时间】:2017-07-10 07:56:48
【问题描述】:

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

我尝试在预输入输入中的ng-keydown 上使用event.keycode === 13 时使用preventDefault()ng-keydown 将检测到 Enter 已被按下,但无法阻止预先输入选择元素。

我需要在输入时禁用预先输入的侦听器吗?

【问题讨论】:

  • 你在input元素或form元素上试过了吗?对我来说,当我执行时它起作用:``` $('form').on('submit', function(e) {event.preventDefault();}); ``` 但是我建议使用更具体的选择器;)

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


【解决方案1】:

你在input元素或form元素上试过了吗?

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

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

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

这里是适用于输入的 sn-p:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多