jquery – 仅当输入未处于焦点时才进行keydown

前端之家收集整理的这篇文章主要介绍了jquery – 仅当输入未处于焦点时才进行keydown前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
目前我设置了一个功能,当按下页面中的左右箭头键时前进和后退:
  1. $(document).keydown(function (e) {
  2. if ($(e.target).is('input')) { return false
  3. } else if (e.keyCode == 37) {
  4. $(".pageback").click();
  5. return false;
  6. }
  7. if (e.keyCode == 39) {
  8. $(".pagenext").click();
  9. return false;
  10. }
  11. });

这允许使用箭头键来回浏览,但是当遇到文本框时,箭头键仍处于活动状态.

虽然这会在文本框处于焦点时停止keydown函数,但它也不允许在输入区域中输入任何内容.

救命!

谢谢

解决方法

“it also does not allow anything at all to be typed into the input area.”

问题是这部分:

  1. if ($(e.target).is('input')) { return false

从事件处理程序返回false时,它会阻止事件的默认行为.

将其更改为返回true或仅返回(没有值),并且将允许默认行为(在这种情况下,在字段中键入).

(注意:您可能还想检查textarea元素,而不仅仅是输入.)

猜你在找的jQuery相关文章