【问题标题】:webkit div scrolling issue - asked over and overwebkit div滚动问题-一遍又一遍地问
【发布时间】:2013-12-05 01:12:15
【问题描述】:

所以,我有this jsfiddle example,正如您将看到的,我们有一个可滚动的div 和一个文本input 字段作为子字段。

问题是这样的:输入框必须留在容器内,但输入时div不能滚动。

我试图捕捉keypress 事件并向后滚动,但它跳来跳去。另外,如果您在input 内按left-click 并向右拖动,您会注意到div 滚动。

这个问题(和类似问题)以前曾被问过。直到现在都没有满意的答案。唯一的“修复”是将input 移到div 之外。但是,在我的特定情况下,这是不可能的。

有什么想法吗?

这只发生在 Chrome 上(我怀疑所有的 webkit 浏览器,但只在 Chrome 中测试过)。

【问题讨论】:

  • 我没看到,什么版本的chrome和操作系统?
  • 您的标记有很多很多无效条目。您需要更加注意打开和关闭标签,在制作open-ended-tag 元素(例如输入)时使用/ 和不正确的嵌套。
  • 嵌套不当?像滚动div中的输入字段?我必须保持这种状态。这只是为了测试目的而过度简化,但这个想法是在滚动方向的相反侧滚动 div 内的输入。并且 div 会以某种方式窃取焦点并滚动到输入。

标签: javascript google-chrome html input scroll


【解决方案1】:

嗯,一旦我清理了你的一些标记并将keyup keydown 替换为keypress,它就更流畅了......

jsFiddle Demo

【讨论】:

  • 我使用的是 Win7 32bit 和 Google Chrome 版本 32.0.1700.41 m Aura。但是你的“清洁”什么也没做......只是现在它“停留”在我按下一个键之后向下滚动。不是下降,而是……下降了一点。看到这张图片:postimg.org/image/jchupoy05 使用keyupkeydown 在打字后我试图强制它回来。我希望它会立即发生,所以没有人会看到滚动条跳跃。我对这个部分滚动一点都不满意。
猜你喜欢
  • 2019-04-16
  • 1970-01-01
  • 2017-10-10
  • 1970-01-01
  • 2011-12-30
  • 2023-03-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多