На днях исправлял чудесный, феерический баг в коде, уже успевшем стать древним (просто потому, что мой склероз прогрессирует заметно быстрее, чем я пишу код). Вкратце, берётся инпут, обвешивается несколькими способами обработчиками, после чего в инпут вводится значение и.. и обработчики не работают!
Через минут двадцать я обнаруживаю, что $(искомый инпут).data() - девственно пуст. Ещё получаса мне хватило на то, чтобы додуматься почесать скрипт grep-ом. И опаньки! В тот момент, когда инпут получает фокус я делаю (барабанная дробь) .unbind без параметров. (Старательно выношу матершинные слюни за скобки).
1 2 3 4 5 6 | |
Мораль сей басни - учите, господа, матчасть. В своё время я использовал .unbind чтобы второй раз не вызывать обработчик по событию .focus. И хотя самостоятельно отрубать себе же руки (хэндлы) я в виду не имел, но очень даже это сделал.
P.S.
1 2 3 4 5 6 7 8 9 10 11 12 | |