Titanium 钛合金-如何最好地将单击事件指定给选项对话框上的选项?
在钛合金中,我有一些过滤器选项的OptionDialog。但根据最佳实践,我不确定如何在每个选项中添加单击事件 查看Titanium 钛合金-如何最好地将单击事件指定给选项对话框上的选项?,titanium,appcelerator,titanium-alloy,Titanium,Appcelerator,Titanium Alloy,在钛合金中,我有一些过滤器选项的OptionDialog。但根据最佳实践,我不确定如何在每个选项中添加单击事件 查看 <OptionDialog id="filterDialog" title="Filter"> <Options> <Option id="byDate">Date added</Option> <Option>Rating - high first</Option>
<OptionDialog id="filterDialog" title="Filter">
<Options>
<Option id="byDate">Date added</Option>
<Option>Rating - high first</Option>
<Option>Rating - low first</Option>
<Option>Cancel</Option>
</Options>
</OptionDialog>
但上述事件侦听器会导致以下错误:
'undefined' is not an object (evaluating '$.byDate.addEventListener');
为每个选项指定单击事件的最佳实践是什么?您必须创建附加到OptionDialog的eventListener,而不是每个选项,然后检查event.index属性的值:
$.filterDialog.addEventListener('click', function(event) {
switch (event.index) {
case 0:
alert('Date added selected')
break;
case 1:
alert('Rating - hight selected')
break;
case 2:
alert('Rating - low selected')
break;
}
});
另外,请记住设置和钛SDK将自动处理取消按钮。在您的情况下,您可以将其添加到
:
您必须创建附加到OptionDialog的eventListener,而不是每个选项,然后检查event.index属性的值:
$.filterDialog.addEventListener('click', function(event) {
switch (event.index) {
case 0:
alert('Date added selected')
break;
case 1:
alert('Rating - hight selected')
break;
case 2:
alert('Rating - low selected')
break;
}
});
另外,请记住设置和钛SDK将自动处理取消按钮。在您的情况下,您可以将其添加到
:
<OptionDialog id="filterDialog" title="Filter" cancel="3">