【问题标题】:Pressing the Enter key instead of Clicking button with Shoes (Ruby)按 Enter 键而不是使用鞋子(Ruby)单击按钮
【发布时间】:2011-08-19 13:29:42
【问题描述】:

正如标题所暗示的,我只是在寻找一种无需单击即可在鞋子中按下按钮的方法。

我已经搜索了论坛,但遗憾的是找不到任何东西。

谢谢

【问题讨论】:

  • 我完全明白为什么你宁愿用手指按下 ENTER 键而不是抬起腿来点击鞋子上的按钮。 (唉,不过,我不能帮你解决你的问题!)
  • 大声笑,谢谢!虽然不是我想要的。
  • 您能否澄清一下:您是在尝试根据任何其他条件/事件以编程方式单击该按钮,还是试图专门让 Enter 键仅在该按钮获得焦点时才起作用?
  • 举个例子,当您在网站中输入您的详细信息时,您输入用户名 密码 这就是我的意思。

标签: ruby shoes


【解决方案1】:

这在 windows 下的红鞋中是行不通的,因为 windows 控件窃取了所有事件。 不过,我设法在窗户下穿着绿鞋工作。

这里是一个例子

['green_shoes'].each(&method(:require))
Shoes.app{
  e = edit_line
  button("Click me!"){alert("You clicked me.")}
  keypress { |k| alert("You pressed Enter") if k == "\n"}
}

格子

【讨论】:

  • 哦,您有使用 Green Shoes 的示例吗?
  • 我编辑了我的答案以包含一个示例,抱歉花了这么长时间,忘记了这个线程,顺便说一句,有一个新版本的绿鞋,检查一下!
  • 完美!谢谢,我只需要重新编写我的应用程序就可以使用 Green Shoes!
【解决方案2】:

我现在没有鞋子,但我相信你可以像这样捕获按键并执行它的动作:

button('Click me') { do_something }

keypress { |k| do_something if k == '\n' }

来自手册:

所有这些规则的一个警告:通常返回键会给你一个 字符串"\n"。然而,当用修饰键按下时,你最终会 与:control_enter、:control_alt_enter、:shift_alt_enter

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-05-25
    • 1970-01-01
    • 2023-03-12
    • 1970-01-01
    • 2015-11-12
    • 1970-01-01
    • 2019-03-07
    • 1970-01-01
    相关资源
    最近更新 更多