【发布时间】:2016-01-25 17:31:24
【问题描述】:
当我在数据网格中的一行上按 Enter 键时,我试图让以下代码运行,当我单击该行 (ListEvent) 时它可以工作,但是当按 enter 键时如何启用它(键盘事件)。尽管每次都会抛出此错误,但我的 enter 键仍在工作
private function onButtonClick(evt:KeyboardEvent):void
{
var item:Object = evt.itemRenderer.data;
openWorkflowItem(item.date.date, item.workFlowID);
$multiEdit = false;
if (target === currentWorkflowItems)
{
$histFilter['sym'] = item.sym;
histSym.text = item.sym;
applyHistFilters();
}
}
<mx:AdvancedDataGrid
id="historicalWorkflowItems"
dataProvider="{$historicalWFItems}"
width="100%" height="100%"
itemClick="{onWFItemClick(event)}"
keyDown="if (event.keyCode==Keyboard.ENTER){ onButtonClick(event)}"
borderStyle="none"
sortExpertMode="true"
useHandCursor="true"
headerShift="{saveColumnSettings('historical', historicalWorkflowItems)}"
columnStretch="{saveColumnSettings('historical', historicalWorkflowItems)}"
horizontalScrollPolicy="auto"
verticalScrollPolicy="auto"
allowMultipleSelection="true"
>
【问题讨论】:
-
KeyboardEvent没有itemRenderer属性。检查以查看target或currentTarget的值。你在哪里添加你的键盘监听器? -
我在高级数据网格中使用这个 keyDown="if (event.keyCode==Keyboard.ENTER){ onButtonClick(event)}"
-
在哪里?在您的问题中发布该代码,到目前为止您提供的内容不足以回答。
-
什么是
onButtonClick? -
上面的函数,虽然命名可能更好(例如onKeyHit)
标签: actionscript-3 apache-flex actionscript flash-builder itemrenderer