当文本字段或文本区域使用纯 JavaScript 获得焦点时禁用键盘快捷键
Posted
技术标签:
【中文标题】当文本字段或文本区域使用纯 JavaScript 获得焦点时禁用键盘快捷键【英文标题】:Disable keyboard shortcuts when text field or textarea has focus using pure JavaScript 【发布时间】:2013-12-13 18:05:26 【问题描述】:我有一个简单的脚本,它使用左右箭头移动到下一篇和上一篇博文。
var nextEl = document.getElementById("pagination__next__link");
var prevEl = document.getElementById("pagination__prev__link");
document.onkeyup = function(e)
if (nextEl !== null)
if (e.keyCode === 37)
window.location.href = nextEl.getAttribute('href');
if (prevEl !== null)
if (e.keyCode === 39)
window.location.href = prevEl.getAttribute('href');
return false;
;
但当我有文本 input
或 textarea
时,它也可以工作。聚焦时禁用键盘快捷键的最佳方法是什么?
谢谢!
【问题讨论】:
最好的方法是不听文档,而是听keyup的分页链接。 你的意思是像下面建议的@Thanh?nextEl.onkeyup = prevEl.onkeyup = function(e) ...
我真的无法让它工作......必须听文档。
【参考方案1】:
禁用文档输入的事件传播
nextEl.onkeyup = prevEl.onkeyup = function(e) e.stopPropagation(); ;
【讨论】:
以上是关于当文本字段或文本区域使用纯 JavaScript 获得焦点时禁用键盘快捷键的主要内容,如果未能解决你的问题,请参考以下文章
JS-onclick函数将文本字符符号插入到光标处的文本输入字段或文本区域
是否可以在 Mobile Safari 中使用 Javascript 在输入或文本区域上调用键盘?
在 2021 年制作类似于 Iphone 上的 imessage 应用程序的输入框或文本区域