【问题标题】:jQuery UI - Dialog closes immediately when opened with onkeypress Enter/SpacejQuery UI - 使用 onkeypress Enter/Space 打开对话框时立即关闭
【发布时间】:2010-12-03 02:21:06
【问题描述】:

当用户在给定元素上按下回车键或空格键时,我想打开一个 jQuery UI 对话框。然而,对话框似乎正在处理输入/空格键,导致默认元素(取消按钮)被按下。对话框几乎一打开就关闭。

这是一个简化的演示:

如果按钮获得焦点,然后用户按下空格,对话框将打开,然后立即关闭。如果用户按下回车键,对话框会很快关闭,甚至不会闪烁(至少这是我使用 Firefox 3.5.3 的经验)

如何防止对话框处理导致对话框打开的 onkeydown 事件的键?

标签: jquery-ui dialog


【解决方案1】:

如果有,请尝试 onkeyup。如果有效,我会给你解释(忙)。

编辑说明: 这主要是因为 onkeydown 事件不会被调用一次,它在按下时会不断调用,并且由于计算机运行速度如此之快(1 秒对它们来说是永恒的),因此在一次按下时会被调用多次。解决的办法是在它被推下的时候不调用它,而是在向上的部分调用它(当你放手的时候)。

在带有开关和逻辑门等的电子设备中一直发生。我忘记了技术术语。

【讨论】:

  • onkeyup 不会自动关闭对话框。焦急地等待你的解释:)
  • 这主要是因为onkeydown不会被调用一次,它在按下时会不断调用,并且由于计算机运行速度如此之快,一次按下会被调用多次。解决方案不是在它被按下时调用,而是在向上部分调用它(当你放手时)。在带有开关等的电子设备中一直发生。我忘记了技术术语。
  • 效果被称为“反弹”,当与开关相关时
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-26
  • 1970-01-01
  • 2012-11-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多