Events 钛移动-视图上的addEventListener
我正在使用common JS制作一个可滚动的菜单 菜单项是一个包含其他两个组件的视图: 图标的imageView和此菜单文本的标签 这个动作很奇怪,在android和ios模拟器上不一样 在android上,如果单击标签或imageview,则会显示:“UncaughtTypeError:CannotRead属性…” 在iphone上,这不会启动任何东西 如果我在其他地方(仍然在视图项中)单击,但不是在图像或唇瓣上,例如在边缘上,那就完美了 代码如下: 功能菜单(项目选项卡){ } module.exports=菜单项 以及所需项的代码(var menuiconsistem=require('view/module/menuiconsistem');): 功能菜单组件(项目){ }Events 钛移动-视图上的addEventListener,events,view,titanium,titanium-mobile,addeventlistener,Events,View,Titanium,Titanium Mobile,Addeventlistener,我正在使用common JS制作一个可滚动的菜单 菜单项是一个包含其他两个组件的视图: 图标的imageView和此菜单文本的标签 这个动作很奇怪,在android和ios模拟器上不一样 在android上,如果单击标签或imageview,则会显示:“UncaughtTypeError:CannotRead属性…” 在iphone上,这不会启动任何东西 如果我在其他地方(仍然在视图项中)单击,但不是在图像或唇瓣上,例如在边缘上,那就完美了 代码如下: 功能菜单(项目选项卡){ } module
module.exports=menuiconsistem 您还必须为标签和图像视图设置id。您真是太棒了,伙计,现在工作得太完美了!帮了大忙,非常感谢!
var menuMain = Ti.UI.createView({
layout : 'vertical',
backgroundColor : '#333333',
height : 125,
bottom : 10,
left : 10,
right : 10,
borderRadius : 5.0
});
var menuFirstLine = Ti.UI.createScrollView({
scrollType : 'horizontal',
contentHeight : 120,
contentWidth : 'auto',
layout : 'horizontal',
height : 120,
marginLeft : 5
});
var items = [];
var menuIconsItem = require('view/module/menuIconsItem');
for(var i in itemTab) {
var page = itemTab[i].page;
items[i] = new menuIconsItem(itemTab[i]);
(function(itemsEvent) {
itemsEvent.id = itemTab[i].id;
itemsEvent.addEventListener('click', function(e) {
Ti.App.fireEvent('main_menu_' + itemsEvent.id, {
id : e.source.id
});
})
})(items[i]);
menuFirstLine.add(items[i]);
}
menuMain.add(menuFirstLine);
return menuMain;
// path for images on Android besoin de centraliser tout ca
var pathImages = '';
var itemImage = Ti.UI.createImageView({
image : item.imageLink,
width : 64,
height : 64,
top : 15
});
var itemLabel = Ti.UI.createLabel({
color : '#afafaf',
text : item.text,
font : {
textAlign : 'center'
},
height : 40,
top : 80
});
var menuItem = Ti.UI.createView({
width : 120,
height : 120,
backgroundColor : '#424242',
top : 5,
left : 5
});
menuItem.add(itemImage);
menuItem.add(itemLabel);
return menuItem;