我在钛iPhone应用程序中使用密码字段,如果用户按下“?”,我需要显示输入的密码发布后的按钮和掩码密码字段“?”按钮。我用过这些代码
var password = Ti.UI.createTextField
({
font : {fontSize : 15, fontType: 'HaveticaL TStd', fontWeight: 'roman'},
hintText: "***************",
top : 54,
left : 107,
height : 24,
width : 153,
passwordMask : true,
color : "black",
returnKeyType : Titanium.UI.RETURNKEY_DONE,
zIndex : 5
});
我使用touchstart和touchend事件来显示密码,即在touchstart事件发生时将passwordMask设置为false,并在touchend事件发生时重置为true。
passwordHintImg.addEventListener('touchstart',function(e){
passwordTxt.passwordMask = false;
});
passwordHintImg.addEventListener('touchend',function(e){
passwordTxt.passwordMask = true;
});
当密码字段模糊时效果很好,但如果密码字段被聚焦,我按“?”按钮密码显示,我无法隐藏显示密码
答案 0 :(得分:2)
最后,我得到了输出
我使用label来显示密码并将visible设置为false,当touchstart事件发生时我更改了passwordShow Label可见为true并设置了密码字段visble以禁用,当touchend事件发生时我重置密码字段可见为true且passwordShow标签可见假的。
var passwordShow = Ti.UI.createLabel({
font : {fontSize : 15, fontType: 'HaveticaL TStd', fontWeight: 'roman'},
top : 54,
left : 107,
height : 24,
width : 153,
visible : false,
backgroundColor : 'transparent',
color : "black",
zIndex : 15
});
passwordShowVw.addEventListener('touchstart',function(e){
if(passwordTxt.value.length > 0)
{
passwordTxt.visible = false;
passwordShow.visible = true;
passwordShow.text = passwordTxt.value;
}
});
passwordShowVw.addEventListener('touchend',function(e){
if(passwordTxt.value.length > 0)
{
passwordShow.visible = false;
passwordTxt.visible = true;
passwordShow.text = '';
}
});