Есть много ответов, каждый касается нескольких моментов - надеюсь, это может дать вам ваш ответ с хорошим объяснением того, что, что и как его использовать.
Использование click()- это псевдоним bind('click' ...). Использование bind()принимает DOM в том виде, в котором он есть, когда настраивается прослушиватель событий, и связывает функцию с каждым из соответствующих элементов в DOM. То есть, если вы используете, $('a').click(...)вы привяжете функцию, предоставленную к событию щелчка каждого тега привязки в DOM, обнаруженного при запуске этого кода.
В live()jQuery использовали старый способ; он использовался для привязки событий точно так bind()же, как это делает, но он не просто привязывает их к элементам в DOM при запуске кода - он также прослушивает изменения в DOM и также будет связывать события с любыми элементами, соответствующими будущему. Это полезно, если вы выполняете манипуляции с DOM и вам нужно, чтобы событие существовало для некоторых элементов, которые могут быть удалены / обновлены / добавлены в DOM позже, но не существуют при первой загрузке DOM.
Причина, по live()которой сейчас обесценивается, заключается в том, что она была плохо реализована. Чтобы использовать live(), вам нужно было изначально выбрать хотя бы один элемент в DOM (я считаю). Это также привело к тому, что копия функции будет привязана к каждому элементу, а если у вас есть 1000 элементов, это будет много скопированных функций.
Создание on()функции должно было преодолеть эти проблемы. Он позволяет вам привязать один прослушиватель событий к объекту, который не будет изменяться в DOM (поэтому вы не можете использовать его on()для элемента, который будет удален / добавлен в DOM позже - привязать его к родительскому объекту) и просто применить элемент «фильтр», так что функция запускается только тогда, когда она поднимается до элемента, который соответствует селектору. Это означает, что у вас есть только одна функция (а не куча копий), привязанная к одному элементу - гораздо лучший подход к добавлению «живых» событий в DOM.
... и в этом заключаются различия, и почему каждая функция существует и почему live()амортизируется.
onчтобы ,clickпотомуclickкак звуки имени функции , как глагол, действие, когда то , что он делает это не щелкнуть элемент (например , вы можете также сделать с одной и той жеclickфункции)