Titanium:单击元素(View,Label e.t.c.)应将其顶部增加1



我已经将相同的函数绑定到我想要的所有元素(比如View和Label)。在这个onClick处理程序函数中,我想获得被单击的元素,并将其"top"增加1。

如果你知道怎么做,请告诉我,我还找不到答案。

我的全局点击处理程序功能:

function increaseElementTop(e) {
    // Here we should increase element's top position.
    Ti.API.info(JSON.stringify(e));
}

谢谢,任何帮助都将不胜感激。

从Event e中获取e.source属性。然后使用setTop()方法。

if (e.source == $.yourLabel) {
    $.yourLabel.setTop($.yourLabel.getTop() + 1)
} 

更新:关于你的评论:我认为它只用于两个元素。一种通用的方法是这样的:

e.source.setTop(e.source.getTop() + 1);

不幸的是,我没有可用的机器来测试代码,但我稍后会这样做(我想是星期二)。只需尝试一下,让您的程序打印e.source变量即可。如果这不起作用,您也可以尝试使用e.source.getId()

function increaseElementTop(e) {
    var theUIElement = e.source;
    theUIElement.top = theUIElement.top + 1;
}

将事件侦听器添加到每个UIElement中,这将获得您单击的元素&修改顶部。