- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
按“Command +”会导致两次 -performKeyEquivalent 调用。这是第一次调用的堆栈跟踪片段:
1 AppKit 0x00007fff903da2f9 -[NSView _performKeyEquivalent:conditionally:] + 41
2 AppKit 0x00007fff903da442 -[NSView performKeyEquivalent:] + 166
3 AppKit 0x00007fff903da2f9 -[NSView _performKeyEquivalent:conditionally:] + 41
4 AppKit 0x00007fff903da259 -[NSWindow performKeyEquivalent:] + 64
5 AppKit 0x00007fff903da044 -[NSApplication _handleKeyEquivalent:] + 462
6 AppKit 0x00007fff90297173 -[NSApplication sendEvent:] + 4480
第二次调用:
1 AppKit 0x00007fff903da2f9 -[NSView _performKeyEquivalent:conditionally:] + 41
2 AppKit 0x00007fff903da442 -[NSView performKeyEquivalent:] + 166
3 AppKit 0x00007fff903da2f9 -[NSView _performKeyEquivalent:conditionally:] + 41
4 AppKit 0x00007fff903da259 -[NSWindow performKeyEquivalent:] + 64
5 AppKit 0x00007fff903da044 -[NSApplication _handleKeyEquivalent:] + 462
6 AppKit 0x00007fff900e3927 -[NSApplication _handleSpecialAlternateKeyEquivalent:] + 656
7 AppKit 0x00007fff9029718e -[NSApplication sendEvent:] + 4507
如您所见,第二个 -performKeyEquivalent 调用是由 -[NSApplication _handleSpecialAlternateKeyEquivalent:] 发起的。那么,谁能告诉我“Command +”击键有什么特别之处,以至于它不需要一次而是两次 -performKeyEquivalent 调用,以及如何过滤掉第二个调用?
最佳答案
最可能的原因是第一次调用返回NO
,因此 AppKit 使用略有不同的事件再次尝试。您是否覆盖performKeyEquivalent:
?您第一次返回NO
吗?
来自Cocoa Event Handling Guide: Handling Key Events的笔记:
NSWindow subclasses are discouraged from overriding performKeyEquivalent:.
Note: Beginning with OS X v10.5, if a key equivalent is not recognized, NSWindow sends it as an NSKeyDown event to the first responder. This behavior enables custom key-binding entries with Command-key modifiers. In addition, NSApplication sends a Control-key event to the key window via performKeyEquivalent: before sending it as an NSKeyDown event through the responder chain. This behavior allows more reliable use of Control-key events as menu key equivalents.
关于cocoa - 对于某些击键,performKeyEquivalent 被调用两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18404230/
menu Home Events Technical Schedule
我试图阻止触发默认 anchor 链接和 onclick 事件。 这是 HTML 代码: Google 我正在尝试使用以下 jQuery 代码阻止任何重定向的发生: $("#mylink").cli
我想在单击父 div 上的任意位置时切换我的 div,除非单击 anchor 元素。因此,例如,如果我单击示例中的第一个文本,我希望它切换,但在我的示例中的第二个文本上,我不希望它切换。 JSFidd
我在通过 jQuery 伪造 anchor 点击时遇到问题:为什么我的thickbox在我第一次点击输入按钮时出现,但第二次或第三次却没有出现? 这是我的代码: Link 当我直接点击链接时,它总是
我已经从 Mootools 切换到 jQuery,因为我认为它有更好的支持。我有这样的 HTML: Opcje Opcje Opcje Opcje Opcje Opcje Opcje JS
我是一名优秀的程序员,十分优秀!