是否可以在 Twitter Typeahead 的下拉列表中禁用某个元素上的 Enter 按键?我正在使用 Angular 和 Typescript。
当预输入输入中的 ng-keydown
上的 event.keycode === 13
时,我尝试使用 preventDefault()
。 ng-keydown
将检测已按下 Enter 键,但无法阻止 typeahead 选择元素。
我是否需要在输入或其他内容时禁用预输入监听器?
最佳答案
您是否在 input
元素或 form
元素上尝试过?
对我来说,当我执行时它会起作用:
$('form').on('提交', function(e) {event.preventDefault();});
不过我建议使用更具体的选择器;)
或者您可以在输入
字段上执行此操作,但您需要防止事件传播。 preventDefault
仅阻止事件的默认行为 - 在输入的情况下它会更新其值。您想要做的是停止提交表单,因此您需要停止事件传播。
这是应该适用于输入的代码片段:
$('#demo-input').on('keydown', function(e) {
if (e.keyCode === 13) {
return false
}
});
使用 jQuery 时,事件处理程序中的return false
与调用 e.preventDefault() 和 e.stopPropagation() 的作用相同。
关于angularjs - 禁用 Twitter Typeahead 上的 Enter 键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42354706/