http://jsfiddle.net/ianhk/t9Hj6/
<div style="width:250px; height: 100px; border: black solid 1px; overflow:auto">
<table style="height:200px; border: red solid 1px">
<tr>
<td>abcdefghi</td>
<td>
<input id="text" value="Some text">
</td>
<td>abcdefghi</td>
</tr>
<tr>
<td>test</td>
<td>test</td>
<td>test</td>
</tr>
</table>
</div>
$("#text").on("keydown", function (ev) {
ev.stopPropagation();
});
在上面的小提琴中,我有一个溢出设置为auto的div,包含一个超大表,其中一个单元格中有一个输入表单元素。
使用左/右光标键的safari和chrome会使div在到达最左/最右位置时向左/向右滚动。我想避免div滚动。
我尝试过的事情:
答案 0 :(得分:0)
这是一个装备,但您可以使用例如https://stackoverflow.com/a/2897510来检测插入符号相对于文本长度的位置,然后如果在文本的结尾(或开始),您可以简单地返回false并试图移动。