Dart,Polymer 0.5,Dartium。
在一个页面中,我有一些div
元素,里面有core-a11y-keys
,键是“向上向左下”。它工作得很好,有些动作是在关键时发生的。
此外,我在页面上有输入字段。问题是由于core-a11y-keys
,我无法在其中使用箭头键。
问题是:如何避免破坏行为?
HTML:
<body>
<div id="widgetContainer">
<core-a11y-keys target="{{body}}" keys="up down left right"
on-keys-pressed="{{widgetContainer_on_move_keys}}">
</core-a11y-keys>
</div>
<input id="txtInput">
</body>
答案 0 :(得分:0)
确保target
的{{1}}属性实际存在并定位到core-a11y-keys
,否则它将适用于整个页面,包括div
。有关如何执行此操作的详细信息,请参阅此处:https://groups.google.com/a/dartlang.org/forum/m/#!topic/web/k8Wzj6KCfgM
如果您的input
是input
所针对的div
的孩子,则会按照core-a11y-keys
的任意位置执行您指示的操作:拦截按键。在这种情况下,您需要处理div
onKeyPress
中的input
事件,例如<input on-keypress="{{handleInputKeyStrokes}}">
:
handleInputKeyStrokes(Event e) {
// You'll need one or both of these; not sure which.
e.preventDefault();
e.stopPropagation();
}
我没有尝试过,可能需要onKeyUp
和onKeyDown
,而不是https://stackoverflow.com/a/13746419。