目前我设置了一个功能,当按下页面中的左右箭头键时前进和后退:
$(document).keydown(function (e) { if ($(e.target).is('input')) { return false } else if (e.keyCode == 37) { $(".pageback").click(); return false; } if (e.keyCode == 39) { $(".pagenext").click(); return false; } });
这允许使用箭头键来回浏览,但是当遇到文本框时,箭头键仍处于活动状态.
虽然这会在文本框处于焦点时停止keydown函数,但它也不允许在输入区域中输入任何内容.
救命!
谢谢
解决方法
“it also does not allow anything at all to be typed into the input area.”
问题是这部分:
if ($(e.target).is('input')) { return false
从事件处理程序返回false时,它会阻止事件的默认行为.
将其更改为返回true或仅返回(没有值),并且将允许默认行为(在这种情况下,在字段中键入).
(注意:您可能还想检查textarea元素,而不仅仅是输入.)