禁止使用箭头键滚动页面,但仍允许光标在文本字段中移动
Prevent page-scrolling with arrow keys, but still allow cursor to move within text field?
是否可以使用JavaScript阻止箭头键滚动页面(在本例中为水平滚动),但仍允许箭头键在文本字段中移动光标?
例如,我在超宽<div>
中输入了一个文本,当我使用箭头键将光标移动到文本末尾时,它将水平滚动页面。
我知道我可以使用event.preventDefault();
来阻止默认行为,但这也会阻止光标移动。我也试过e.stopPropagation();
,它似乎也不起作用。
有可能做到这一点吗?还是我必须使用e.preventDefault();
,然后用JavaScript手动移动光标位置?我希望有一个更简单的解决方案
以下是一个JSFiddle演示我的问题:http://jsfiddle.net/h6ug57u0/
编辑:
我应该注意,我只是在输入中有焦点时才尝试实现这种行为。否则,我不想妨碍浏览器的默认行为——我知道很多用户使用箭头键滚动。
如果您是否e.preventDefault()
,您可能需要检查输入插入符号的位置以进行分析。
衰减示例:
http://jsbin.com/cunidinuvo/edit?html,js,输出
为什么不在文本框中添加一个onkeypress事件处理程序,然后检查箭头键?
相关文章:
- 自定义函数中的光标位置
- 在Widget代码中使用javascript从左向右滑动光标图像
- 将文本插入光标所在的文本区域
- 鼠标光标-用于wordpress网站
- 在Widget代码中没有jQuery的情况下,用光标图像从左滑动到右
- 我可以让我的Ajax调用引起一个“;进行中”;光标
- 默认光标在IE和Mozilla中不起作用
- onmousedown更改光标;可能需要控制事件冒泡
- 由于滑块的原因,光标始终是D3中的十字光标
- 即使光标位于屏幕边缘,也可以跟踪鼠标速度
- draggableCursor没有't更改为等待光标
- 在窗口中单击按钮完成之前,光标不会停止.请继续卸载
- JQuery BlockUI鼠标加载光标没有't在Google Chrome中返回默认值
- 图像阵列预加载时显示沙漏光标
- 如何检查光标是否位于指定的标记之间
- HTML5-画布元素&自定义光标
- ReacJS与猴面包树,如何在卸载组件后释放光标
- forEach在光标上
- 使用JavaScript的带有背景图像的径向光标
- 光标:十字光标;用于按钮Img