是否可以使用JavaScript阻止箭头键滚动页面(在此示例中为水平方向),但仍然允许箭头键在文本字段中移动光标?
例如 - 我在超宽<div>
中有一个文本输入,当我使用箭头键将光标移动到文本的末尾时,它会水平滚动页面。
我知道我可以使用event.preventDefault();
来阻止默认行为,但这也会阻止光标移动。我也试过了e.stopPropagation();
,这似乎也没有做到这一点。
是否可以这样做,或者我是否必须使用e.preventDefault();
然后使用JavaScript手动移动光标位置?我希望有一个更简单的解决方案。 :)
这是一个JSFiddle,展示了我的问题: http://jsfiddle.net/h6ug57u0/
修改
我应该注意,当输入中有焦点时,我只是试图实现这种行为。否则,我不想妨碍浏览器的默认行为 - 我知道许多用户使用箭头键滚动。
答案 0 :(得分:2)
答案 1 :(得分:0)
为什么不直接在文本框中添加onkeypress事件处理程序,然后检查箭头键?