Шукаємо повний список типів подій jQuery


74

Де я можу знайти повний список усіх підтримуваних jQuery подій (наприклад click, mouseupтощо) з деякими поясненнями, коли вони запускаються? Я шукаю тих, кого можна пов’язати:

$('#foo').bind('click', handler);

Наприклад, я просто випадково дізнався, що pasteподія є, але я не можу знайти жодного посилання на неї ніде в своїх документах. Що ще там є?


1
Метод bind () застарілий у версії 3.0. Замість цього використовуйте метод on (). Далі йде посилання на метод jquery on (): api.jquery.com/on
— Bahman

Відповіді:


48

Невичерпний список наведено за адресою http://api.jquery.com/category/events/ . Є більше подій DOM, що підтримуються через .bind()та .live(). Ці функції можуть призначати обробник будь-якій стандартній події DOM, більшість з яких перераховані разом із таблицями сумісності на http://www.quirksmode.org/dom/events/

Метод .bind () є основним засобом прикріплення поведінки до документа. Усі типи подій JavaScript, такі як фокус, наведення миші та розмір, дозволяються для eventType.


Починаючи з jQuery 1.7, ви повинні використовувати .on()замість .live()та .bind().


Усі події прив'язки - це те, що я шукаю (не функції швидкого доступу). Можливо, мені слід переформулювати своє запитання.
— серг

@ serg555: Я додав посилання quirksmode.org, більшість (якщо ні, то всі) перелічені там разом із таблицями сумісності для кожного браузера. Зверніть увагу, що Opera не підтримує pasteподію.
— Енді Е,

Придивившись уважніше, це здається досить застарілим. Наприклад, там сказано mouseleave, що працює лише в IE, але це неправда.
— серг

@ serg555: насправді mouseleaveреалізовано jQuery, це не є стандартною подією. Firefox та Chrome його не підтримують, я не перевіряв Safari та Opera. jQuery забезпечує цю подію в цих браузерах. ви маєте рацію, однак деякі речі quirksmode.org застарілі.
— Енді Е,

3
Ця відповідь насправді не актуальна. touchподії не перелічені, наприклад.
— Флоріан Маргайн



0

На цій сторінці перелічено всі події, які працюють у всіх браузерах, наскільки мені відомо. Тут ви не знайдете події "вставити", оскільки, як зазначали інші, вона працює не у всіх браузерах.

http://www.authenticsociety.com/jquery/list-all-jquery-events.html


Це неправильно:: .mouseup()Вказівник миші знаходиться над елементом у будь-який час, коли кнопка миші вгору
— Зак,

0

Я знаю, що це питання досить давнє. Але заради того, щоб дати оновлену та повну відповідь на це питання.

Методи ярликів завжди називаються так само, як імена подій, що використовуються в будь-якому з методів on () / bind () / live ().

Отже, якщо ви хочете скористатися будь-якою функцією ярлика, але з on () / bind () / live (), ви можете просто взяти ім'я методу , опустити дужки та поставити його в лапки так: "eventname" / 'eventname' . Вони повинні поводитися однаково.

Так наприклад: .dblclick () -> 'dblclick' =>

$('a').on('dblclick', function() {  
    console.log("I got double clicked");
});

http://api.jquery.com/category/events/ - повний перелік методів подій. (Так, я знаю, що я не єдиний, хто вказує на цей сайт, але разом із моїм поясненням насправді це повний список подій для "on" / "live" / "bind")

Якщо у вас є можливість використовувати on (), ви повинні зробити це, оскільки on () робить те саме, і всі виклики 'bind' та 'live' насправді викликають функцію 'on'. Ось ще докажіть про це: Яка різниця між `on` та` live` або `bind`?

Також деякі люди запитували про сенсорні (мобільні) події. Як правило, я рекомендую звикнути до методу події on (), оскільки відповідно до мобільної документації jQuery це єдиний спосіб реєструвати події дотику в елементах html, що відповідає майбутнім планам api jQuery щодо видалення bind () / live ( ) та всі методи ярликів.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.