在一行中添加了一个开关,并且两者都被轻敲。

时间:2014-12-12 16:32:53

标签: titanium titanium-alloy

我在钛中创建了一个tableView,并在其中添加了1行,并在行中添加了1个开关。我面临的问题是当我敲击开关行时也会被轻敲。我怎么能阻止这个?有没有办法停下来。我已经阅读了几个链接,他们在视图中说添加切换然后将该视图添加到行中,但这不起作用。以下是代码。

<Alloy>
    <Window class="container">
        <TableView width="100%" height="60%" top="5">
            <TableViewRow height="50" onClick="dont" width="100%" backgroundColor=" yellow">
                <View width= "100%" height="100%" onClick="doNothing">
                    <Switch value="On" top="5" right="5" onClick="doNot"></Switch>
                </View>
            </TableViewRow>
        </TableView>
    </Window>
</Alloy>

当我点击一个开关时,两个功能都被调用... 钛版:3.4.1 GA

1 个答案:

答案 0 :(得分:0)

你应该怎么做: 在交换机上的tableView和onChange Listener上添加onClick监听器:

<Alloy>
   <Window class="container">
     <TableView width="100%" height="60%" top="5" onClick="dont">
        <TableViewRow height="50"  width="100%" backgroundColor=" yellow">
            <View width= "100%" height="100%">
                <Switch value="On" top="5" right="5" onChange="doSwitchChange"></Switch>
            </View>
        </TableViewRow>
    </TableView>
  </Window>
</Alloy>

并在controller.js中

function dont(e) {
    if (e.source == e.row.children[0])
        Ti.API.debug('the View');
    else
        Ti.API.debug('the Switch');
}

function doSwitchChange(e) {
        Ti.API.debug(e.value);
}