Javascript 按键关闭事件,意外的本机行为

Javascript 按键关闭事件,意外的本机行为,javascript,jquery,html,events,keydown,Javascript,Jquery,Html,Events,Keydown,我的情况与此非常相似: 基本上,它是一个带有滚动的表,不会同时显示所有列。当接下来的步骤实现时,浏览器(至少是FF和Chrome)会有一种奇怪的本机行为: 关注最后一列中的输入字段 向左滚动到表格的开头(在本例中为“a”列) 按一个键 此时,在keyDown()的执行事件之后,表格滚动到包含“聚焦”输入的列。如何避免这种行为而不停止以下事件的传播(如输入值的更改等)?您是否尝试过event.preventDefault()停止本机行为 比如说, $(selector).mouseDown

我的情况与此非常相似:

基本上,它是一个带有滚动的表,不会同时显示所有列。当接下来的步骤实现时,浏览器(至少是FF和Chrome)会有一种奇怪的本机行为:

  • 关注最后一列中的输入字段
  • 向左滚动到表格的开头(在本例中为“a”列)
  • 按一个键

此时,在
keyDown()
的执行事件之后,表格滚动到包含“聚焦”输入的列。如何避免这种行为而不停止以下事件的传播(如输入值的更改等)?

您是否尝试过
event.preventDefault()
停止本机行为

比如说,

$(selector).mouseDown(function(event) { // pass in the event
  event.preventDefault();               // stop the default browser behavior.
  // then goes your code.
});

你打算把你试过的JS加入你的小提琴吗?我没看见。我能够重现您描述的行为。我看不出您描述的问题(我对这个问题很熟悉),但FF 29在JSFIDLE上没有生成它。您不这样认为吗?我使用的是FF v29.0.1(Mac),我可以重现我正在解释的行为:我当然试过了。基本上,问题是我不想避免其余的默认行为(例如,keydown事件的传播为输入字段分配了一个值,并进行了制表)。所有这些东西的重新实现都可能是一团糟,应该避免。”…不停止传播“哇。那是。。。可能吗?好的,另一种实现方法是模拟浏览器所做的相同默认行为(更改值和制表符、shift+制表符等)。你认为你可以用一种简单的方式来模仿它吗?