钛点击事件无效

时间:2013-01-04 16:52:52

标签: javascript javascript-events click titanium appcelerator

我站在 MainMenuScreen ,从那里我添加了模块名称 MenuIcons 但我不知道为什么 MenuIcons中的点击事件根本不工作。但是,所有视图,图像和其他内容都显示完美,没有任何警告或错误。

以下是代码的场景:

MainMenuScreen.js

function MainMenuScreen(userinfojson) {
    var main_window = Titanium.UI.createWindow({
        backgroundImage : '/assets/inventoryBackground.png'
    });
    var MainScreen = [];
    var MenuIcons = require('ui/common/menus/MenuIcons');
    MainScreen.menuIcons  = new MenuIcons(active_screen);
    main_window.add(MainScreen.menuIcons);

    var StatusScreen = require('ui/common/MenuScreen/StatusScreen');
    MainScreen.statusScreen = StatusScreen(userinfojson);
    main_window.add(MainScreen.statusScreen);

    return main_window;    
}
module.exports = MainMenuScreen; 

MenuIcons.js

function MenuIcons(active_menu) {
    var view = Titanium.UI.createView({
        top : "12%",
        height : "10%"
    });
    var iconstatus_imageview = Titanium.UI.createImageView({
        left : '0%',
        top : '0%',
        image : '/assets/iconStatus.png',
        height : '100%',
        width : '13.8%'

    });
    iconstatus_imageview.addEventListener('click', function(e) {
        alert("Clicked");
    });

    view.add(iconstatus_imageview);
    return view;
}
module.exports = MenuIcons;

因此,点击此“ iconstatus_imageview ”的事件imageview无效 请帮忙...... :(

1 个答案:

答案 0 :(得分:1)

要对此进行故障排除,我会为所涉及的视图/窗口添加颜色,并查看是否将其绘制在另一个上。我没有看到StatusScreen代码的初步猜测是它位于MenuIcons的顶部,但它是透明的,你看不到它。

我可能会注释掉这一行,看看菜单事件是否会触发:

main_window.add(MainScreen.statusScreen);

此代码有效,因此在您粘贴的代码中看不到问题。所以无论你编辑出来的代码都应该被看到。

app.js

var main_window = Titanium.UI.createWindow({
    //backgroundImage : '/assets/inventoryBackground.png'
    backgroundColor: 'white'
});
var MainScreen = [];
var MenuIcons = require('MenuIcons');
//MainScreen.menuIcons = new MenuIcons(active_screen);
MainScreen.menuIcons = new MenuIcons();
main_window.add(MainScreen.menuIcons);

// var StatusScreen = require('ui/common/MenuScreen/StatusScreen');
// MainScreen.statusScreen = StatusScreen(userinfojson);
// main_window.add(MainScreen.statusScreen);

//return main_window;
main_window.open();

MenuIcons.js

function MenuIcons(active_menu) {
    var view = Titanium.UI.createView({
        top : "12%",
        height : "10%"
    });
    var iconstatus_imageview = Titanium.UI.createImageView({
        left : '0%',
        top : '0%',
        image : 'medical.png',
        height : '100%',
        width : '13.8%'

    });
    iconstatus_imageview.addEventListener('click', function(e){
        alert('clicked');
    });

    view.add(iconstatus_imageview);
    return view;
}
module.exports = MenuIcons;