А на зачем это нужно?
Если нужно передать параметр серверу без перезагрузки - это AJAX, если нужно передать данные в скрипт, то это лучше делать через аргументы вызываемой функции.
Er Code, не ошибаетесь, вполне живой способ для одного обработчика. Просто им не навесить несколько обработчиков на одно событие. Для этого уже необходим addEventListener.
Stalker_RED, да, тоже думаю, что дело во внутренней оптимизации внутри броузера. Получается, что Мозилла улучшает скрипты на лету =)
А второй способ и должен был быть в конце по всем законам логики.
Однако разница в 10 раз - это серьезный повод для оптимизации кода.
Никита Полевой, Stalker_RED,
К моему удивлению тесты действительно дали неожиданный результат. Причем, нативный push ожидаемо лидирует, а способ Сталкера выполняется дольше всего, что меня удивило.
Я кликал на элемент в приведенном примере - он никуда не смещался. Если его сместить как угодно, хоть относительным позиционированием, хоть CSS3, а потом вызвать el.getBoundingClientRect(), он вернет объект с уже измененными значениями позиционирования. Во всяком случае, у меня никогда с ним проблем не было.
Павел Новиков, да, и в 2020 он будет актуален. Да, можно код оптимизировать, навесив обработчик события из скрипта, но на самом деле это имеет смысл при использовании нескольких обработчиков одного события.
А просто понтоваться синтаксисом, когда в нем нет реальной необходимости, я не привык.
Не будет ловить, если l>=2
А вообще не понятно:
1. При чем тут яваскрипт
2. Зачем получать значения формы внутри условия, если это не условие проверки наличия нужного запроса?