我有一个输入字段,它具有焦点时出现的字段提示。问题是我正在使用原型效果并且提示Effect.toggle
',如果有人在现场输入,然后退格,则提示全部向后。有没有办法设置一个var或case或者可以在输入焦点时设置的东西?虽然输入具有焦点
function fieldHint(fieldName,cloneField){
var hint = $(fieldName);
var clone = $(cloneField);
//only show fieldhint if input is empty
if(clone.value==''){
Effect.toggle(hint,'appear', { duration: 0.3 });
//clone position of input box for fieldhint
hint.clonePosition(clone,{
offsetTop: 18,
offsetLeft: 15,
});
}
}
function disableFieldHint(input,why,fieldName){
var hint = $(fieldName);
var input = $(input);
var inputLength = input.value.length;
if(why=='key' && inputLength<1){
Effect.toggle(hint,'appear', { duration: 0.1 });
}
if(why=='blur' && inputLength<1){
Effect.toggle(hint,'appear', { duration: 0.1 });
}
}
我通过打电话的聚焦状态fieldHint(),并通过任意的onblur调用disableFieldHint()或onkeydown事件......所以,我认为它感到困惑,因为工作的onkeydown最初隐藏的提示,但如果偷看类型,然后一切退格,然后再次开始输入,onKeyDown + value =“”将为true,并且由于fieldHint()是一个切换键,它会在人们输入时再次显示fieldhint,并且所有内容都被零除 - 除非窥视再次退格并且再次开始打字,然后所有东西都会颠倒过来 - 除非他们再次退格并再次打字,那么这就是所有的fubar,并且像是在相反的日子里呆了几秒钟。
我明白我可以使用style.display
来显示或隐藏提示,但淡入淡出让我看起来更像是我知道自己在做什么(显然不是这样)。
谢谢亲切,好的先生们。
例如,PLZ?[................ .....] – stormdrain 2009-11-20 14:57:08
非常感谢您的反馈。对于另一篇文章感到抱歉;我在这里有点新,礼节不是我的强项。我会听从你的建议。 我什么都不是,如果不是我的代码冗余。与我的例子相比,你的例子简洁明快。然而,我无法测试它,因为我必须做更多的努力才能使其发挥作用,并且现在是一个完全不同的野兽。有一个问题:“^”究竟做了什么?我试图寻找它,但空了。它是“或”运营商吗?如果是这样,它与“||”有什么不同?再次感谢。 – stormdrain 2009-11-23 17:28:54
这是xor操作符。它与'||'相似,但如果*只有一个值为真,则为真,与“||”相反,如果其中任何一个或两个都为真,则为真。你的代码正在检查它们是否都是真的,或者它们是否都是假的,做'!(a^b)'检查以确保它们没有区别。然而,再看一遍后,它可以简化为'else if(为什么=='模糊'&&打字==先){'。既然要求它们都是真的或者都是假的,如果它们是平等的,那么这个要求必须是真实的。 – 2009-11-23 19:59:08