夜深了,窗外没有蝉鸣,只有键盘声。
我在写一个背单词的小玩意儿。需求很简单:按 Ctrl+N,跳到下一个单词。就像你喝了一杯酒,自然想喝第二杯;就像你看见美好的事物,自然想多看一眼。这是顺滑的,是符合人性的。
但是浏览器不答应。
在 Chrome 眼里,Ctrl+N 只有一种解释:新建窗口。这是它的本能,是它写在基因里的规矩。你按下去,它就弹出来一个新的窗口,白茫茫一片,像极了这操蛋的人生,总是给你意外,却不是你想要的惊喜。
我试图反抗。
我用了 e.preventDefault(),试图告诉它:“别动,听我的。”
没用。
我用了 e.stopPropagation(),试图阻断它的神经传导。
没用。
我甚至用了 e.stopImmediatePropagation(),这是代码里的核武器,意思是“所有人都闭嘴,只听我说”。
还是没用。
浏览器冷冷地看着我,依旧弹出了那个白色的新窗口。它仿佛在说:“小伙子,这是我的地盘。有些规矩,是金线,你过不去。”
我突然意识到,写代码和做人是一样的。
年轻的时候,我们总以为自己能改变世界,能重写规则。我们觉得只要逻辑是对的,只要代码是优雅的,世界就该围着我们转。我们想把 Ctrl+N 据为己有,就像想把那个不属于你的姑娘强留在身边。
后来我们肿胀了,我们碰壁了,我们知道了疼。
我们开始明白,有些系统级的设定,是不可撼动的。你再牛逼的 JavaScript,也干不过浏览器的底层 C++。你再深情的挽留,也留不住一颗要走的心。
于是我妥协了。
我把快捷键改成了 Alt+N。或者 Ctrl+→。
虽然多了一个键,或者换了一只手,稍微麻烦了一点点。但它能跑通了。单词可以顺滑地切换了,页面不会莫名其妙地弹窗了。世界和平了。
这不就是中年吗?
不再执着于“完美”和“必须”,而是寻找“可行”和“共存”。我们学会了在规则的缝隙里跳舞,学会了用 Alt 代替 Ctrl,学会了接受 Ctrl+N 永远属于浏览器,而把自己的欲望安放在 Alt 的角落里。
代码写完了,功能上线了。
我喝了一口茶,看着屏幕上那个提示:“注:如果 Ctrl+N 被浏览器占用,请使用 Alt+N”。
这行字,像极了生活给我们的那句潜台词: 如果生活强奸了你,别反抗,换个姿势,也许能舒服点。
晚安。