【发布时间】:2012-02-29 09:36:55
【问题描述】:
我有一个文本框,每次用户按下一个键时,我都会计算字段的新长度以查看还有多少字符可用。 根据这个数字,我:
- 检查是否应启用“发送”按钮
- 检查显示长度的计数器是红色还是黑色 (à la twitter)
但是现在我有一个问题;在每个 keydown 事件中,我都会这样做:
remaining = 100 - count;
if (remaining > 9)
{
//blue counter; send is activated
//"if counter.class == red then counter.class = blue..."
//"send.off('click'); send.on('click', sendmessage)..."
}
else if ((remaining <= 9) && (remaining >= 0))
{
//red counter; send is activated
}
else //remaining <0
{
//red counter; send is deactivated
}
每次用户按下一个键时,三个块中的一个被执行......只有当变量更改“区域”时,没有办法执行块(]∞, 9[;[9,0];@987654324 @) ?
【问题讨论】:
-
计数怎么会小于零?
-
我的错,这实际上是剩余的字符数(再次,就像 twitter 有 140 个限制)
-
你在使用 jQuery 吗? (我注意到
send.off(...))
标签: javascript algorithm optimization