在 iOS 上,单击 TableViewRow 子项会在 TableViewRow 而不是其子项上触发事件。如何解决?
我有一个 tableView,它附加了点击事件并充满了行:
var tableView = Ti.UI.createTableView({
populateData: populateData
});
tableView.addEventListener('click', tableViewClick);
行很简单,并添加了视图:
var row = Ti.UI.createTableViewRow({
type: 'row',
height: 70,
className: 'notes',
});
var container = Ti.UI.createView({
left: 15,
width: Ti.UI.SIZE,
touchEnabled: false,
});
var image = Ti.UI.createImageView({
image: '/images/usuwanie.png',
width: 35,
height: 35,
type: 'delete',
id: data.id,
searchType: data.type
});
container.add(image);
row.add(container);
点击动作识别哪个对象触发了事件:
var tableViewClick = function(e) {
var type = e.source.type;
var id = e.source.id;
var searchType = e.source.searchType;
var additionalText = e.source.additionalText;
alert(e.source.type);
switch(type) {
case 'delete':
deleteShopping(id,searchType);
break;
case 'edit':
editShopping(id, searchType, additionalText);
break;
}
};
它在 Android 上完美运行 - 如果我单击 imageView,则 imageView 是事件的来源(警报返回“delete”并调用“deleteShopping”函数)。
在 iOS 上,源始终是行(而不是 ImageView),并且警报返回“行”并且不调用任何函数。