箭头键不起作用在输入和文本区域

问题描述:

我有一个简单的textarea和我的web应用程序中的输入。出于某种原因,我无法用箭头键回到键入的文本中。输入光标不会向后移动。箭头键不起作用在输入和文本区域

但是我可以使用ctrl + a,或者用鼠标点击我想要编辑的位置。这很混乱。在我的代码中,我没有在任何关键事件中使用e.preventDefault - 大约有30个js文件和一些巨大的css文件。

关于为什么箭头可能不起作用的任何想法?

谢谢!

+1

通过删除某些JS文件进行调试? – 472084 2012-02-17 09:06:15

+0

你能提供一个最低工作范例吗?一些代码? – 2012-02-17 09:06:48

+1

首先通过删除连续的js文件来隔离问题,直到箭头键再次工作 - 比回来的结果。 – WTK 2012-02-17 09:08:02

不要在你所有的JS文件的搜索,寻找类似的东西:

keyCode == 37 

which == 37 

,因为这是左箭头。也许冥冥之中有类似的东西:

if (e.keyCode == 37) 
    e.preventDefault(); 
+0

就是这样。在搜索我的js文件的内容后,我发现我有一个下拉菜单组件,它阻止了(33,34,35,36,37,38,39,40)的默认设置。谢谢! – 2012-02-17 09:17:52

+0

当我第一次看到这个答案时,我很怀疑。然后,我尝试了你所说的话。原来你是对的。头脑风暴。 – taylorstine 2016-10-06 21:57:13

只是为了添加注释,以帮助人们加载收藏内输入和文字区域。 大多数灯箱将箭头键绑定到照片导航(上一个,下一个),所以箭头键不能在您的表单域中工作。

要解决这个问题,只需搜索灯箱的JavaScript代码中的键码(如Jules建议的),并删除绑定箭头键的代码块。或者你可以调节它。

例如,在右lightbox.js键绑定代码

var b=p.current,c=({27:"close",33:"prev",37:"prev",38:"prev",39:"next",40:"next",34:"next"})[a.keyCode]; 

27是退出键,这样你就可以离开,有,并删除其余部分。