前言
今天搞个特别简单的功能,花了我一下午时间。找到bug之后,我被我自己快蠢哭了,想掐死自己
需求,输入框字数限制: 当粘贴的文本加上已经存在的文本 总长度 超过预设之后,禁止粘贴。
好了,就是这么一个简单的需求。
说说思路
就是监听paste 事件,获取要粘贴的文本。然后判断长度,超过了就event.preventDefault()
,禁止粘贴。
但是呢,这个死活不起作用。哎,就是玩儿! 就是没用。return false
也没用。
然后我打印了defaultPrevented这个属性,就是看看preventDefault被调用过没,结果,还没用呢,这玩意就是true(表示已经调用过preventDefault了)。
然后我试了各种方法,来代替preventDefault,显然 ,都没用。
一下午,就耗在这了。
后续
然后吃完饭之后,我思路一转,在项目里面搜搜paste事件,看看是不是别人改过了。
我一搜,tmd,果然,有人已经监听过paste事件,并且preventDefault了。我说怎么一开始defaultPrevented就是true。
此时
要是我早一点搜不就没事了吗,五分钟的事,我干了一下午。
淦
总结
找bug真tm是一件愉快的事呢。让人血脉喷张,神清气爽,想一头撞死
好了,之后我打算把自己找bug的辛酸路记录下来。分享趣事,也给自己提个醒。真的是傻到家了。