前些天,我接到了一个奇怪的任务,说让我把VSCode里的那个光标形状弄下来,换成一个div来代替。这不是在折腾人吗?我心想,这个任务应该是产品经理喝醉酒后想出来的!
说真的,为啥要为模拟输入框用div,鼠标移到上面加个小尾巴?就拿CSS3弄点闪闪发光效果,这不是瞎折腾!直接用输入框不就得了,何必搞得那么复杂?再说,这样一来,键盘弹出来的问题怎么解决?这不是自找麻烦么?我越想越觉得这个需求有点扯淡,真像是在和人作对似的。
移动端的困境
我仔细琢磨了下那个任务要求,然后发现了个更大的难题——textRange这个程序接口只有IE才有,手机上用不了!真是让人笑掉大牙!折腾半天也没辙,让我更觉得这任务就是不可能完成。
最后,我受够了,准备找经理拼命。我直接问他,这个需求究竟想干?他吞吞吐吐的,半天解释不清楚。看着我发火,他赶紧闭嘴走人。
生活中的类似场景
实际上这事儿你应该也碰到过,就比如说前些天我在餐馆吃饭,拿微信扫了下二维码付钱。结果,扫完后先是跳出个H5页面,让我填金额,还有可能有优惠。填好金额点确认后,它才开始启动微信支付,让我看清楚最后要付多少钱,再输密码,搞定!
这套程序让人难受得要命。简直就是多此一举!直接扫码付钱不就行了,为啥弄那么复杂?我越想越觉得像那个偷走Caret效果的需求一样,都是反人类的行为。
技术实现的复杂性
我又琢磨了下,觉得用div来假装光标这个办法,理论上没毛病,可真正弄起来就太头疼了。先说CSS3的闪烁效果,本身就够让人头大了;再加上各式各样的浏览器兼容性,那真是深不见底!还有更糟心的,你得处理好一按键盘鼠标就弹出来的毛病,那滋味儿,简直比吃了苍蝇还难受。
各种招数都试过,全废。越想越气人,这个需求简直离谱到家。我开始怀疑是产品经理在整我们?不然咋出这种破主意。
产品经理的无奈
我看着他走开,心情乱七八糟。我懂,他当产品经理肯定也有压力,被迫提出了这个需求。可我也清楚,这个需求是真不行,咱得仔细琢磨怎么办。
重新审视需求
想清楚后,我开始重新想这件事。我知道,这事儿听起来挺怪,但或许有它的道理。琢磨了一会儿,我觉得这可能是为了解决一些小问题,比如说键盘弹不出来,或者浏览器不兼容啥的。
评论0