所以我的应用程序中有一些表格,除了其中的一种形式,它们似乎都可以正常工作。
当我按下空格键或制表符时,就像我有一个默认的阻止值,它什么也不会做。
我尝试使用控制台的代码getEventListeners(node)
,但返回后还是干净的。我还尝试使用eventListener来查看输入是否有东西
let input = document.querySelector('#input')
input.addEventListener('keydown', e => {
console.log(e.which);
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form>
<input type="text" id="input" name="label" placeholder="Label" class="d-block w-100 mb-3 watch">
<textarea name="comentario" placeholder="Deixe um comentário" class="d-block w-100 mb-3 watch"></textarea>
<button class="btn btn-primary">Ok</button>
</form>
当我按下空格键或选项卡控制台时,可以很好地打印键码,但是它们却没有达到预期的效果。
这个应用程序有点像一个大项目,可能会有一些代码在困扰我的输入,但是我检查了我能想到的所有可能性,如果有人有任何建议,将受到欢迎。
我仅使用JavaScript,HTML和CSS。 库:jQuery,SVG.js,Pizzicato.js,Tuna.js,Wavesurfer.js
答案 0 :(得分:1)
正如我在评论中提到的那样,我并没有在测试中投入很多精力,但是这种解决方案可以向您展示成为满足您需求的摇滚明星的途径。
https://jsfiddle.net/h3o9x5nw/1/
您可以在codes
数组中添加要测试的代码,以便行为可以继续而不会破坏用户体验。而且,如果您需要测试可能的keyCode而不用失去尝试使用在线表查找内容的权限,则可以使用https://keycode.info/在JS中找到您的keyCode。
document.querySelector('#comentarios').addEventListener('keydown', e => {
if (e.which == 32){
e.preventDefault();
e.path[0].value += String.fromCharCode(e.keyCode);
}
})
或
document.querySelector('#comentarios').addEventListener('keydown', e => {
if (e.which != 32) return;
e.preventDefault();
e.path[0].value += String.fromCharCode(e.keyCode);
})
答案 1 :(得分:0)
您将ID命名为#input,它可以执行某些颜色,而不是实际的输入。删除#,您应该正确定位所有其他输入。