箭头键在输入和文本区域不起作用
Arrow keys not working in input and textarea
我的web应用程序中有一个简单的文本区域和输入。由于某些原因,我无法使用箭头键返回键入的文本。输入光标不会向后移动。
但是,我可以使用ctrl+a,或者用鼠标点击我想要编辑的位置。这令人困惑。我没有在代码中的任何关键事件中使用e.preventDefault——大约有30个js文件和一些巨大的css文件。
关于为什么箭头可能不起作用,有什么想法吗?
谢谢!
在所有JS文件中进行搜索,并查找类似以下内容:
keyCode == 37
或
which == 37
因为这是左箭头。可能在某个地方有类似的东西:
if (e.keyCode == 37)
e.preventDefault();
只是添加一个注释来帮助人们加载灯箱内的输入和文本区域。大多数灯箱将箭头键绑定到照片导航(上一个、下一个),因此箭头键在表单字段中不起作用。
要解决这个问题,只需在灯箱的javascript代码中搜索键代码(正如Jules建议的那样),并删除绑定箭头键的代码块。或者你可以调节它。
例如,在right-lightbox.js中,密钥绑定代码是
var b=p.current,c=({27:"close",33:"prev",37:"prev",38:"prev",39:"next",40:"next",34:"next"})[a.keyCode];
27是转义键,所以你可以把它留在那里,然后去掉其余的。
您还可以查找以下内容
@HostListener('keydown.arrowup', ['$event']) keyUp(event) {
或
@HostListener('keydown.arrowdown', ['$event']) keyUp(event) {
如本评论所述,调试此问题的一个好方法可以是开发人员工具:选择有问题的文本区域(例如使用ctrl+shift+C),然后转到Event listeners
选项卡。
我在keydown
类别下找到了行为的起源。不出所料,这是我之前不知怎么错过的e.preventDefault();
。
相关文章:
- onkeyup无法动态创建多个文本区域
- 具有所有样式的文本正在复制到可编辑文本区域
- 在文本区域POST后解码JSON
- 在文本区域中使用jQuery.text()保持换行符
- ng在下拉列表和文本区域提交
- 将文本插入光标所在的文本区域
- 离开页面导航后保留文本区域内容
- Javascript-在文本区域中断,但不在段落中中断
- 当选择值x时,Javascript需要在正确的位置显示文本区域,从而循环通过具有选择选项的表单
- 测试文本区域中的特定文本格式
- 文本编辑后,append函数不适用于文本区域
- 如何在ReactJs中链接下拉列表和文本区域
- I'我试图在文本区域中进行特定的输入,调用特定的javascript函数,但没有成功;不起作用
- 使用JSON文件中的变量(字符串)填充文本区域
- JavaScript-如果以前不存在文本,如何从文本区域删除新行
- 如何在php中创建一个函数,该函数与文本区域一起工作,通过输入类似[color:red]的内容来打印具有等效颜色的文本
- 如何为动态创建的文本区域中输入的值更新ng模型
- 延迟高亮显示文本区域中的文本
- 将字母添加到文本区域的末尾
- TinyMCE在新添加的文本区域