在jQuery中检测输入之外的键入
Detecting typing outside of an input in jQuery
好的,所以对于我们的应用程序,我们有一个侧边栏,其中有一长串当前用户可用的所有不同页面。侧边栏顶部是一个输入,使用Javascript,它只显示侧边栏上包含他们搜索的单词的选项。有没有任何方法可以在没有实际输入或使用隐藏输入的情况下实现这一点?
我希望当用户键入时,只要他们不关注另一个输入/文本区域/其他什么,它就会细化侧边栏。我不确定你是否看过新的MySpace,但这正是我想要的。
这里有一个快速示例,可以为您指明正确的方向。每次按下某个键时,都会检查该事件是否在输入中被激活。如果没有,字符代码将记录到控制台。
$('body').on('keypress', function(e) {
if ($(e.target).is('input')) {
return;
}
console.log(e.which);
});
收听document
上的keypress
事件。然后从事件中获取target
,以确定它是一个输入还是类似的。
$(document).keypress(function(event) {
if ($(event.target).is('input')) {
return;
}
event.preventDefault();
});
看看jQuery热键插件。
相关文章:
- 使用ajax的输入jquery意外结束
- 如何从输入 JQuery 或 javascript 中获取修改后的文本
- 从输入 jquery 获取值
- 如何将MP3文件播放到麦克风输入jQuery中
- 正在尝试预览表单输入jQuery
- 如何启用由日期选择器 ui 附加的输入?(JQuery 插件)
- 检测用户是否没有't输入任何内容/删除输入jQuery
- 删除输入jquery中的值时清除所有更改
- 在编辑输入 jQuery 后激活只读返回
- 验证并附加电话输入 Jquery
- 如果相同的单词在输入 jquery 或 js 中写入两次,则发出警报并不允许
- 如何附加用户输入?jQuery.
- 使用 .val() 的输入 jQuery 进行计算
- 对所有子输入JQuery使用replaceWith
- Vaildate动态添加数组输入-jQuery Validate
- 文件输入jQuery更改事件只触发一次
- 正确重命名克隆的输入JQuery
- 检查输入Jquery的起始字符的值
- 动态添加输入jquery
- 在鼠标输入jquery中使用延迟