Шукаємо повний список типів подій 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.