在聚焦文本输入的同时使用箭头键滚动(Javascript)
Scroll with arrow keys while text input is focused (Javascript)
我想在聚焦文本输入的同时用箭头键滚动HTML页面。输入字段上的焦点是用以下代码创建的:
document.getElementById('search').focus();
我必须保持输入字段处于活动状态,因为我有一个条形码扫描仪,它可以写入该字段。
使用Javascript是否可以激活输入文本字段并允许同时使用箭头键滚动?
我在基于Windows CE 6.0的移动扫描仪上使用IE 6。
我不明白为什么不这样做——你可以简单地向键添加一个事件处理程序,然后使用jquery滚动。
$(document).keydown(function(e){
if (e.keyCode == 40) {
// get current scroll
var scroll = $(window).scrollTop();
$(window).scrollTop(scroll+10);
return false;
} else if (e.keyCode == 38) {
// get current scroll
var scroll = $(window).scrollTop();
$(window).scrollTop(scroll-10);
return false;
}
});
何处
37 - left
38 - up
39 - right
40 - down
这是一个技巧问题,你必须在输入上禁用自动完成:
<input id="search" autocomplete="off" />
然后绑定事件处理程序etc:
document.onkeydown = function(event) {
// normalize event.which
if ( event.which == null && (event.charCode != null || event.keyCode != null) ) {
event.which = event.charCode != null ? event.charCode : event.keyCode;
}
if ( document.activeElement.id === 'search' ) { // #search has focus
if (event.which === 38) { // up arrow
window.scrollBy(0, -50);
}else if (event.which === 40) { // down arrow
window.scrollBy(0, 50);
}
}
}
document.getElementById('search').focus();
请注意,当机身有焦点时,箭头键将默认滚动页面,因此为了测试该功能,您必须聚焦机身以外的其他东西
FIDDLE
相关文章:
- 幻灯片滚动javascript不起作用
- 谷歌地图API-如何停止滚动(JavaScript)
- slim向左和向右滚动javascript,而不是向上和向下滚动
- 滞后向左滚动Javascript
- 在聚焦文本输入的同时使用箭头键滚动(Javascript)
- 无限滚动 JavaScript 未运行
- 平滑滚动 JavaScript 影响模态功能
- 检测鼠标滚轮的使用情况,但保持页面滚动(javascript/jquery)
- 为什么不是't我的Parallax滚动JavaScript代码正在工作
- 平滑滚动Javascript滚动减去100px(固定标题导航)
- 标头不是't滚动-Javascript
- 可以't在webview中加载页面后滚动javascript映射
- 自定义滚动javascript困惑
- Aptana Studio 3 MAC OS在滚动JavaScript文件时间歇性死机
- 平滑滚动javascript禁用超链接
- 平滑滚动javascript代码与Bootstrap标签代码混淆
- 禁用水平滚动JavaScript
- 没有滚动javascript导致不工作的文本输入?iPhone Web App
- 添加渐变过渡到丹尼尔诺兰的img滚动javascript
- 你能得到用户的滚动位置,每次他们滚动JavaScript/jQuery