Є багато відповідей, кожна з яких стосується кількох моментів - сподіваємось, це може дати вам свою відповідь, з гарним поясненням, що до чого і як використовувати.
Використання click()- це псевдонім для bind('click' ...). Використання bind()приймає DOM таким, яким воно є, коли настроюється прослуховувач подій, і прив’язує функцію до кожного з відповідних елементів у DOM. Тобто, якщо ви використовуєте, $('a').click(...)ви прив’яжете функцію, що надається, до події click кожного прив'язувального тегу в DOM, знайденому під час запуску цього коду.
Використання live()було старим способом у jQuery; він використовувався для прив'язки подій так само, як bind()це робить, але він не просто прив'язує їх до елементів у DOM під час запуску коду - він також прослуховує зміни в DOM і також прив'язує події до будь-яких відповідних елементів у майбутньому. Це корисно, якщо ви виконуєте маніпуляції з DOM і вам потрібна подія для деяких елементів, які можуть бути видалені / оновлені / додані до DOM пізніше, але не існують при першому завантаженні DOM.
Причина, яка live()зараз знецінена, полягає в тому, що вона була погано впроваджена. Для того, щоб використовувати live(), спочатку потрібно було вибрати хоча б один елемент у DOM (я вважаю). Це також спричинило прив'язку копії функції до кожного елемента - і якщо у вас 1000 елементів, це багато скопійованих функцій.
Створення on()функції мало подолати ці проблеми. Це дозволяє прив’язати один прослуховувач події до об’єкта, який не зміниться в DOM (тому ви не можете використовувати on()елемент, який буде видалений / доданий до DOM пізніше - прив’язати його до батьківського об’єкта), і просто застосувати елемент "фільтр" так, що функція запускається лише тоді, коли вона переходить до елемента, який відповідає селектору. Це означає, що у вас є лише одна функція (а не купа копій), прив’язана до одного елемента - набагато кращий підхід до додавання "живих" подій у DOM.
... і в цьому полягає різниця, і чому кожна функція існує і чому live()амортизується.
onщоб ,clickтомуclickяк звуки імені функції , як дієслово, дія, коли то , що він робить це НЕ клацнути елемент (наприклад , ви можете також зробити з однієї і тієї жclickфункції)